Respostas:
Há um comando simples embutido que o puxa:
rvm implode
Isso removerá o rvm/
diretório e todos os rubis criados nele. Para remover o rastreio final do rvm, você também precisa remover a gema rvm:
gem uninstall rvm
Se você fez modificações no seu, PATH
pode querer puxá-las também. Verifique se o seu .bashrc
, .profile
e .bash_profile
arquivos, entre outras coisas.
Você também pode ter um /etc/rvmrc
arquivo ou um em seu diretório pessoal ~/.rvmrc
que talvez precise ser removido também.
bash
se comportam quando você arranca os executáveis do PATH
.
~/.zshrc
Se as outras respostas não removerem o RVM o suficiente, a página de solução de problemas do RVM conterá esta seção:
Como limpo completamente todos os traços de RVM do meu sistema, inclusive para instalações em todo o sistema?
Aqui está um script personalizado que nomeamos como
cleanout-rvm
. Embora você possa definitivamente usarrvm implode
como usuário comum ourvmsudo rvm implode
para uma instalação em todo o sistema, esse script é útil, pois sai completamente do RVM e limpa o RVM sem usar o próprio RVM, sem deixar rastros.#!/bin/bash /usr/bin/sudo rm -rf $HOME/.rvm $HOME/.rvmrc /etc/rvmrc /etc/profile.d/rvm.sh /usr/local/rvm /usr/local/bin/rvm /usr/bin/sudo /usr/sbin/groupdel rvm /bin/echo "RVM is removed. Please check all .bashrc|.bash_profile|.profile|.zshrc for RVM source lines and delete or comment out if this was a Per-User installation."
Ao usar implode
e você vê:
Psychologist intervened, cancelling implosion, crisis avoided :)
Então você pode querer usar --force
rvm implode --force
Em seguida, remova o RVM dos seguintes locais:
rm -rf /usr/local/rvm
sudo rm /etc/profile.d/rvm.sh
sudo rm /etc/rvmrc
sudo rm ~/.rvmrc
Verifique os seguintes arquivos e remova ou comente as referências ao RVM:
~/.bashrc
~/.bash_profile
~/.profile
~/.zshrc
~/.zlogin
Comente / remova as seguintes linhas do / etc / profile:
source /etc/profile.d/sm.sh
source /etc/profile.d/rvm.sh
/ etc / profile é um arquivo somente leitura, então use:
sudo vim /etc/profile
E depois de fazer a alteração, escreva usando um estrondo!
:w!
Finalmente, faça o login novamente / reinicie o seu terminal.
sudo
inicialmente, portanto, nenhum de seus arquivos estará nos caminhos /etc
ou /usr
. Somente quando foi instalado usando o multiusuário ou com sudo
você, você verá isso, e sua existência é uma forte indicação de que a documentação de instalação do RVM NÃO foi seguida para instalá-lo em primeiro lugar.
Muitas pessoas cometem um erro comum ao pensar que 'rvm implode' faz isso. Você precisa excluir todos os rastreamentos de qualquer arquivo .rm. Além disso, serão necessárias algumas exclusões manuais da raiz. Certifique-se de que ele seja excluído e também de todas as versões ruby instaladas usando-o.
Remova o script de carregamento do RVM de /.bash_rc ou /.zsh_rc e use:
rm -rf /.rvm
Ou:
rvm implode
rm -rf /.rvm
ou rm -rf ~/.rvm
?
Corre:
rvm implode
Agora você precisa desinstalar a gema RVM usando:
gem uninstall rvm
Verifique se há algum arquivo RVM restante no diretório inicial, se sim, remova-o.
Vá para o diretório inicial e liste todos os arquivos ocultos:
ls -a
rm .rvm
rm .rvmrc
gem uninstall rvm
falhará.
Observe que se você instalou o RVM via apt-get, precisará executar algumas etapas adicionais rvm implode
ou apt-get remove ruby-rvm
desinstalá-lo.
Consulte " Instalando o RVM no Ubuntu ".
Se você ainda está recebendo um env: ruby_executable_hooks: No such file or directory
chamado ao pacote Ruby, isso significa que o RVM deixou um pequeno presente para você no seu $PATH
.
Execute o seguinte para encontrar os scripts incorretos:
grep '#!/usr/bin/env ruby_executable_hooks' /usr/local/bin/*
Então rm
todos os jogos. Você precisará reinstalar todas essas bibliotecas com um sem RVM gem
, é claro.
Para outros iniciantes do shell tentando corrigir a variável PATH
Após seguir as instruções na resposta aceita, verifique e modifique sua variável PATH, se necessário:
env | grep PATH
se você vir "rvm" em qualquer lugar, precisará descobrir onde está configurando PATH e modificar. Eu estava configurando em três arquivos - então verifique todos os seguintes arquivos:
vim .bashrc
Exclua as linhas no arquivo que referencia o rvm usando o comando dd. : wq para salvar e sair.
source .bashrc
"recarregar"
Repita esse processo (começando com o comando vim) para .profile e .bash_profile
De acordo com a documentação de solução de problemas do RVM " Como faço para limpar completamente todos os traços de RVM do meu sistema, inclusive para instalações em todo o sistema? ":
Aqui está um script personalizado que chamamos de 'cleanout-rvm'. Embora você possa definitivamente usar
rvm implode
como usuário comum ourvmsudo rvm implode
para uma instalação em todo o sistema, esse script é útil, pois sai completamente do RVM e limpa o RVM sem usar o próprio RVM, sem deixar rastros.#!/bin/bash /usr/bin/sudo rm -rf $HOME/.rvm $HOME/.rvmrc /etc/rvmrc /etc/profile.d/rvm.sh /usr/local/rvm /usr/local/bin/rvm /usr/bin/sudo /usr/sbin/groupdel rvm /bin/echo "RVM is removed. Please check all .bashrc|.bash_profile|.profile|.zshrc for RVM source lines and delete or comment out if this was a Per-User installation."
Estou executando o Ubuntu 19.04 e segui todas as instruções acima e mais algumas. Finalmente, o que funcionou para mim foi executar
sudo apt autoremove rvm
e agora, quando tento reinstalar o RVM, ele se foi. O RVM é invasivo, para dizer o mínimo.
Tentei os comandos acima para remover o RVM do macOS, mas de alguma forma ele ainda estava aparecendo no caminho.
Aqui está o que eu fiz, que funcionou:
$ open ~/.bash_profile
Adicione ao seu perfil do bash o seguinte:
unset GEM_PATH
unset MY_RUBY_HOME
unset GEM_HOME
Então, no terminal, execute:
$ source ~/.bash_profile
grep
para essas variáveis no diretório inicial e as chances são boas, você descobrirá onde. Em uma instalação multiusuário, eles poderiam estar /env/bash_profile
.
rvm
- pode ser a sua 'intromissão' - masrbenv
é uma alternativa interessante.Você ainda pode gerenciar várias versões do Ruby no seu sistema, mas não substitui os comandos do shell, não gerencia os gemsets ( O empacotador é mais que suficiente) e não precisa ser carregado no shell.