Pergunta

Tenho algumas joias de rubi que não desaparecem.

Acho que tem a ver com quando os instalei.Ocasionalmente, esqueci de usar "sudo" antes de instalar uma gema, o que resulta em um erro de gravação e, pelo que pude perceber, coloca uma cópia da gema em meu diretório de usuário, em vez de em algum lugar onde ela possa ser executada.Mas a desinstalação do gem não funciona.Ele aparece continuamente na 'lista de gemas', mas não pode desinstalá-lo na desinstalação de gemas ou na desinstalação de sudo gem.Tentei excluir diretamente uma gema depois de encontrar o caminho em meu 'ambiente de gema', mas isso ainda deixou a gema na lista.

Também é possível remover todas as gemas e começar do zero?Isso está me deixando maluco.

Estou executando o OS X.

Foi útil?

Solução

Assumindo que gem clean (ou sudo gem clean) não funciona, eu tentaria o seguinte para remover totalmente todas as jóias do seu sistema:

Você pode ver onde as gemas foram instaladas executando o comando:

gem env paths

Para remover todas as gemas do seu sistema, basta remover as pastas retornadas por este comando.

Além disso, no OSX Leopard, as gemas padrão são instaladas nesta pasta:

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8

Se essa pasta existir no seu sistema, como antes, você pode remover esta pasta para garantir que todas as gemas sejam excluídas.

Outras dicas

Você também pode fazer o seguinte para se livrar das gemas instaladas.

gem list -d [gem name]
gem uninstall --install-dir [install directory] [gem name]

Se as coisas mencionadas anteriormente não funcionarem, eu tive que fazer isso sozinho hoje.

Eu tive um problema semelhante, mas o problema raiz acabou sendo o GemSpecs que estavam por aí por algum motivo desconhecido.

Depois que pensei ter desinstalado todas as jóias:

matt$ gem1.9 list
*** LOCAL GEMS ***
minitest (1.6.0)
rake (0.8.7)
rdoc (2.5.8)

Sem jóias aqui:

matt$ ls -al /opt/local/lib/ruby1.9/gems/1.9.1/gems/
total 0
drwxr-xr-x  2 root  admin   68 Jul 23 14:54 .
drwxr-xr-x  8 root  admin  272 Mar  3 14:56 ..

Ali estão eles!

matt$ ls -al /opt/local/lib/ruby1.9/gems/1.9.1/specifications/
total 24
drwxr-xr-x  5 root  admin  170 Jul 23 14:54 .
drwxr-xr-x  8 root  admin  272 Mar  3 14:56 ..
-rw-r--r--  2 root  admin  129 Nov  1  2010 minitest.gemspec
-rw-r--r--  2 root  admin  121 Nov  1  2010 rake.gemspec
-rw-r--r--  2 root  admin  121 Nov  1  2010 rdoc.gemspec

Remova os gemspecs:

matt$ sudo rm /opt/local/lib/ruby1.9/gems/1.9.1/specifications/*

E agora as jóias se foram:

matt$ gem1.9 list
*** LOCAL GEMS ***

Se você tiver várias versões de uma jóia, precisará primeiro limpar e depois excluir a jóia final.

 gem cleanup <gemname>
 gem uninstall <gemname> --version

Eu tinha uma jóia que não morria e tinha que seguir a rota "nuke tudo", excluindo todas as minhas jóias com o comando gem uninstall -aIx. Então apenas gem install <gemname> E eu estava de volta e correndo.

Atualize sua versão do ruby ​​gems gem update -System e espero que o gem desinstall xxx funcione agora [foi um bug nas versões mais antigas

Verificação de saída Rvm, ele permite que você gerencie completamente seu ambiente Ruby sob seu usuário e não em um diretório do sistema. Achei muito mais fácil gerenciar versões e gemas rubi usando -as.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top