Disinstallare rotaie e pietre preziose, errore di ottenere "non può disinstallare, assegno 'elenco gemma -d ...'

StackOverflow https://stackoverflow.com/questions/4007074

Domanda

ho intenzione di iniziare con la solita linea di niubbo "Sono nuovo di rotaie". Oh, e sto correndo Mac OSX 10.6.4

Ho seguito un gruppo di guide per avere istituito, in particolare questi due qui e qui . Le guide sono fantastiche, la ragione per cui sto usando la seconda è a causa della RVM e la ragione per cui sto usando il primo è per MySQL.

In ogni caso, quando ho iniziato, ero non seguire completamente e in modo che le direzioni dopo che ho installato RVM, per qualche ragione ho installato rotaie con sudo gem install rails -v 2.3.8 perché quello è la versione che ho bisogno. Allora ... mi sono reso conto che stavo usando il rubino del sistema, e non stava prendendo vantaggio di RVM. Quello che ho fatto oggi è stato installare Ruby 1.9.2 in modo da poter installare le rotaie 3 e verificare il lavoro svolto, e ho anche installato 1.8.7 e 2.3.8 rotaie così posso usarlo per quello che ho bisogno.

Ora, sto cercando di disinstallare le gemme dal sistema Ruby, ma ogni volta che provo a sto ottenendo questo errore:

  

ERRORE: Durante l'esecuzione di gem ...   (Gem :: InstallError)
    non può disinstallare, assegno 'elenco gemma -d    qualsiasi gemma Ho provare a disinstallare '

Tutte le idee su come rimuovere rotaie e tutte queste gemme? Voglio solo iniziare da zero con RVM.


UPDATE:

Eseguendo il comando di gem list -d rails ho localizzato le gemme in /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/18. Dovrei eliminare manualmente?

È stato utile?

Soluzione

!! Io ancora non capisco perché questo è accaduto, mi piacerebbe se qualcuno potesse spiegare. Perché è stato il percorso inesistente? Che cosa ha causato questo errore?

Inoltre, voglio ricordare che la soluzione ho collegato a un commento ha detto che la questione è un duplicato. Tuttavia, l'originale ha una soluzione diversa e non mi ha aiutato (anche se la sua base di trovare questa risposta). Semplicemente eliminando le gemme manualmente in Finder non sarebbe rimuoverli dalla lista gemma.

Senza ulteriori indugi - si scopre che quando si cerca di disinstallare il gioiello, non è possibile individuare il suo percorso (penso che il problema è dovuto al fatto di installare con sudo, ma potrei sbagliarmi) . Quello che dovete fare è (è necessario fare questo uno ad uno per ogni gioiello, o almeno ho dovuto):

  1. gem list -d 'name of gem' e prendere nota del "Installato:" posizione (nel mio caso, /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8)
  2. sudo gem uninstall 'name of gem' -i 'the path noted above' (es. Nel mio caso, sudo gem uninstall rails -i /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8
  3. Alcune gemme ancora potrebbe non disinstallare la restituzione di un errore di autorizzazioni. Se questo è il caso, ciò che devi fare è creare una cartella / bin, nel percorso di cui sopra. (Nel mio caso, mkdir /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/bin
  4. Continua disinstallazione come al punto 2, ancora utilizzando il percorso originale (/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8).

Ora tutte le disinstallazioni dovrebbero lavorare!

Altri suggerimenti

Due cose che si dovrebbe tenere presente quando si utilizza RVM:

  1. Si dovrebbe Mai l'uso sudo installare gemme, basta fare un gem install xxx

  2. Non è possibile disinstallare le gemme installate nel globale GemSET da un altro GemSET. Si dovrebbe passare alla GemSET globale e disinstallare da lì:


 rvm gemset use global
 gem uninstall xxx

eseguire questa operazione in IRB o in uno script corretta:

`gem list --no-versions`.split("\n").each do |gem|
  `gem list -d #{gem}`.gsub(/Installed at(.*):.*/).each do |dir|
    dir = dir.gsub(/Installed at(.*): /,'').gsub("\n", '')
    system "gem uninstall #{gem} -aIx -i #{dir}"
  end  
end

provare in questo modo:

sudo apt purge rails

ok vedo ....

A questo punto, se siete nel terminale, non dovrebbe prendere, ma pochi minuti per reinstallare tutta la baracca

ho il sospetto che potrebbe non essere in nome rvm corretto che ha le gemme si sta cercando di installare in modo ecco perché io suggerirei reinstallazione RubyGems e la costruzione di sei gemme fondamentali sin dall'inizio nella tua Global nome rvm GemSET.

Una risposta più generico per eliminare tutte le gemme per le versioni precedenti di gemma 1.8.

Elenco gemma --no-versioni | xargs sudo gemma disinstallazione -aIx

usavo RVM per gestire le mie gemsets e non avevo scelto il GemSET. Non ero che avevo scelto il GemSET sbagliato, era che non avevo scelto il GemSET a tutti. Un modo incantevole di trascorrere la maggior parte d'ora della mia prima parte posteriore del giorno dopo le mie vacanze estive!

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