Removendo todas as joias instaladas e recomeçando

94

Recentemente, comecei a aprender Ruby e Ruby on Rails e observei uma infinidade de materiais de introdução. Ultimamente tenho percebido que recebo erros em que gems não são instaladas ou serão instaladas, mas não podem ser usadas por algum motivo, e decidi que quero remover tudo novamente para ter apenas o Ruby instalado e recomece com a instalação. Um vídeo de treinamento me fez instalar a maioria das minhas joias com RVM, então não sei se isso muda alguma coisa.

Resumindo, minha pergunta é "Como me livro de RVM, Rubygems e de todos os Gems instalados para poder começar de novo apenas com Ruby?"

Editar: estou no Mac OS 10.6

Dave Long
fonte
1
Você instalou em / opt / ruby? É o que faço para remover o rubi rapidamente.
alternativa de
Veja stackoverflow.com/questions/15100496/… Isso deve funcionar para 1.9.3 também :)
Nathan Lilienthal
O título da sua pergunta e o resumo da "pergunta curta" no final são duas coisas diferentes ...
movido em

Respostas:

122

No site de suporte RVM :

O RVM instala tudo em ~ / .rvm. Para remover o RVM do seu sistema, execute 'rm -rf ~ / .rvm'. Você pode ter um arquivo de configuração adicional em ~ / .rvmrc e, claro, o gancho RVM em seus arquivos de inicialização bash / zsh.

Então, vá para a linha de comando e digite rm -rf ~/.rvm

Todas as joias instaladas estão nas pastas ~ / .rvm, portanto, fazer o acima irá remover as joias e rubis instalados de uma vez.

As joias que você adicionou pré-RVM com a instalação padrão do ruby ​​podem ser removidas digitando-se no prompt de comando:

for x in `gem list --no-versions`; do gem uninstall $x -a -x -I; done
Michaelmichael
fonte
1
Acabei de executá-lo, mas o gems ainda está instalado. No entanto, parece que foi recarregado. Não tenho certeza se recarregou com os padrões do Mac XCode ou o que ...
Dave Long
adicionou outra linha para se livrar das joias que você adicionou pré-RVM
michaelmichael
1
Eu adicionaria as opções '-all -x -I' para desinstalar o gem para evitar que ele avise você (para binários, versões ou dependências) durante a desinstalação.
timmfin
4
Para referência, o comando completo é: for x in `gem list --no-versions`; faça a desinstalação do gem $ x -a -x -I; feito
Daniel Rehner
8
Para obter mais referências, outra opção:gem list --no-versions | xargs gem uninstall -aIx
trisweb de
73
gem uninstall -aIx

Desinstala todas as joias sem aviso.

Opções

-a, --[no-]all                   Uninstall all matching versions
-I, --[no-]ignore-dependencies   Ignore dependency requirements while
                                 uninstalling
-x, --[no-]executables           Uninstall applicable executables without
                                 confirmation
calça
fonte
Isso me dá:ERROR: While executing gem ... (Gem::InstallError) gist is not installed in GEM_HOME, try: gem uninstall -i /usr/share/rubygems-integration/all gist
user2023370
34

Para Windows e Unix, copie / cole no prompt de comando ( Ruby 1.9.x ).

ruby -e "`gem list`.split(/$/).each { |line| puts `gem uninstall -Iax #{line.split(' ')[0]}` unless line.strip.empty? }"
Haris Krajina
fonte
2
ERROR: While executing gem ... (Gem::CommandLineError) Please specify at least one gem name (e.g. gem build GEMNAME) -e:1: no .<digit> floating literal anymore; put 0 before dot bundle (0.0.1) ^ -e:1: syntax error, unexpected tINTEGER bundle (0.0.1) ^
isomorfismos
@isomorphismes não tenho certeza se corrigi, mas você pode tentar o comando agora.
Haris Krajina
23

usando RVM, você pode simplesmente digitar ...

rvm gemset empty GEMSET

onde GEMSET é o conjunto de joias que você gostaria de esvaziar. então...

instalar pacote

yum install bundler e finalmente

bundle install
Mfittko
fonte
15

rvm implode(veja os documentos do cli ) parece funcionar - e até diz a você onde procurar por sobras

chesterbr
fonte
2
Esta é tecnicamente a resposta mais correta e exatamente para o que foi projetada.
movido em
"implode - remove todas as instalações de ruby ​​que ele gerencia, tudo em ~ / .rvm"
Nein
"implodir não desinstala o RVM em si. Basicamente, não há maneira de desinstalar o RVM automaticamente, a não ser limpar manualmente tudo o que a instalação fez no seu sistema. E isso é uma grande desvantagem. A única maneira de desinstalar o RVM é limpar manualmente tudo o que fez ao seu sistema. " fonte: duseev.com/articles/rbenv-vs-rvm NOTA: Sou um novato e não tenho qualificação para determinar se o conselho do artigo é correto.
Mark Gavagan
1
@MarkGavagan Eu concordo que não faz tudo, mas dirá o que mais precisa ser feito (o que chamo de "sobras"). Na verdade, a etapa zero desse mesmo artigo sobre a desinstalação do rvm é ... rvm impode:-)
chesterbr
5
  1. Este é um trabalho para mim no Ubuntu 16.04. Para mim, quando estava executando command rails -v, ele gerou erros por causa de NameError. Eu instalei três versões do rails (4.2.0, 4.2.6, 5.0.0.1). Eu estava tentando desinstalar o gem desnecessário usando o comando gem uninstall rails -v version number, mas não consigo, mas encontro uma maneira de resolver esse problema. Para desinstalar todas as gemas, você deve percorrer todas as entradas na lista de gemas com o script bash. Este método é muito inconveniente. Graças ao Rubygems 2.1.0, agora você pode fazer isso com um comando.

    PASSO 1

    Em primeiro lugar, certifique-se de atualizar seu Rubygems para 2.1.0 ou mais recente. Para isso, execute este comando (caso você esteja trabalhando em uma versão mais antiga. Você pode verificar sua versão gem usando este comando qualquer um deles gem -v ou gem --version )

    gem update --system

    gem --version

    PASSO 2

    Execute este comando em seu terminal

    desinstalação do gem --todos

    Etapa 3

    Instale pacotes de gem (acho que não é necessário apenas por precaução) pacote de instalação de gem

    Passo - 4
    Instale os rails em seu sistema usando este comando gem install rails -vspecific version you want to install você pode verificar a versão do rails no site oficial rails todas as versões exemplo: - Eu instalei a versão 4.2.6 do rails, você instala conforme o requerimento. gem install rails -v 4.2.6

    Etapa - 5

    Por fim, verifique a versão do aplicativo de estrutura rails instalado usando o comando básico rails -v . Ele irá ecoar a versão atual dos frameworks Rails. Apreciar :)

    Referências

http://ruby-journal.com/how-to-uninstall-all-ruby-gems/ http://guides.rubyonrails.org/v4.1/getting_started.html

Mukesh Kumar Gupta
fonte
3

Passo 1:

Comecei a encontrar um erro que dizia:

Você não tem permissões de gravação para o diretório / usr / bin

Para obter permissão, tornei-me um usuário root com (isso é potencialmente perigoso por razões além do meu entendimento atual) :

sudo -s

Crédito

Passo 2:

Então, continuei encontrando um erro que dizia:

[gem] não pode ser desinstalado porque é uma gema padrão

Isso me permitiu desinstalar tudo:

for i in `gem list --no-versions`; do gem uninstall -aIx $i; done

Crédito

John R Perry
fonte