Domanda

Ho alcune gemme di rubino che non andranno via.

Penso che abbia a che fare con quando li ho installati.Occasionalmente ho dimenticato di usare "sudo" prima di eseguire l'installazione di un gem, il che si traduce in un errore di scrittura e da quello che ho potuto raccogliere inserisce una copia del gem nella mia directory utente invece che in qualche posto in cui può essere eseguito.Ma la disinstallazione di gem non funziona.Viene visualizzato continuamente nell'elenco delle gemme ma non è possibile disinstallarlo da gem uninstall o sudo gem uninstall.Ho provato a eliminare direttamente una gemma dopo aver trovato il percorso nel mio "ambiente gemma", ma la gemma rimaneva comunque nell'elenco.

Inoltre è possibile rimuovere tutte le gemme e ricominciare da zero?Questi mi stanno facendo impazzire.

Sto utilizzando OS X.

È stato utile?

Soluzione

Supponendo che gem clean (o sudo gem clean) non funzioni, proverei quanto segue per rimuovere totalmente tutte le gemme dal tuo sistema:

Puoi vedere dove sono state installate le gemme eseguendo il comando:

gem env paths

Per rimuovere tutte le gemme sul tuo sistema, rimuovi semplicemente le cartelle restituite da questo comando.

Inoltre, su OSX Leopard, le gemme predefinite sono installate in questa cartella:

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

Se questa cartella esiste sul tuo sistema, come prima puoi rimuoverla per assicurarti che tutte le gemme vengano eliminate.

Altri suggerimenti

Puoi anche fare quanto segue per sbarazzarti delle gemme installate.

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

se le cose sopra menzionate non funzionano, dovevo farlo da solo oggi.

Ho avuto un problema simile, ma il problema alla radice si è rivelato essere gemspecs che restavano in giro per qualche ragione sconosciuta.

Dopo aver pensato di aver disinstallato tutte le gemme:

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

Nessuna gemma qui:

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 ..

Eccoli!

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

Rimuovi gemspecs:

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

E ora le gemme sono sparite:

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

Se hai più versioni di una gemma, dovrai prima fare una pulizia e poi eliminare la gemma finale.

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

Avevo una gemma che non sarebbe morta e dovevo andare il " nuke tutto " percorso eliminando tutte le mie gemme con il comando gem uninstall -aIx. Quindi solo gem install <gemname> ed ero di nuovo attivo e funzionante.

aggiorna la tua versione di gemme di rubino gem update --system quindi si spera gem disinstallare xxx funzionerà ora [era un bug nelle versioni precedenti]

Guardare RVM, ti consente di gestire completamente il tuo ambiente Ruby sotto il tuo utente piuttosto che in una directory di sistema.Ho trovato molto più semplice gestire le versioni di rubini e gemme utilizzandolo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top