2010-06-15 4 views
6

Lorsque je tente de nettoyer les versions mes rails avec sudo gem cleanup railsGem :: Erreur d'installation

Je reçois l'erreur suivante:

Cleaning up installed gems... 
Attempting to uninstall rails-2.3.5 
Unable to uninstall rails-2.3.5: 
Gem::InstallError: cannot uninstall, check `gem list -d rails` 
Attempting to uninstall rails-1.2.6 
Unable to uninstall rails-1.2.6: 
Gem::InstallError: cannot uninstall, check `gem list -d rails` 

gem list -d rails résultats dans:

rails (2.3.8, 2.3.5, 1.2.6) 
    Author: David Heinemeier Hansson 
    Rubyforge: http://rubyforge.org/projects/rails 
    Homepage: http://www.rubyonrails.org 
    Installed at (2.3.8): /Library/Ruby/Gems/1.8 
       (2.3.5): /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8 
       (1.2.6): /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8 

    Web-application framework with template engine, control-flow layer, 
    and ORM. 

Tout savoir ce qui est faux?

+0

dupe de http://stackoverflow.com/questions/1000731/getting-rid-of-ruby-gems-that-wont-die – x1a4

Répondre

13

Après de longues recherches, il s'avère que la raison en est un chemin inexistant. Le ne peut pas désinstaller vient parce que le système ne recherche pas /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8

Sur un niveau granulaire, au lieu de gem cleanup rails, vous peut simplement utiliser la commande de désinstallation et tapez:

gem uninstall rails -i /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8

alors vous pourriez frapper un autre problème lié à un chemin inexistant, à quel point, vous devez créer un répertoire en utilisant la commande:

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

Maintenant, toutes les désinstallations devraient fonctionner correctement. Je recommande de faire un petit bijou propre réinstaller en effectuant les fonctions suivantes:

créer une liste de toutes les gemmes existantes

gem list --no-versions | sed -e '/^(*|$)/d' > installed_gems

désinstaller toutes les gemmes existantes

gem list | cut -d" " -f1 | xargs gem uninstall -aIx

réinstallant dernières gemmes

cat installed_gems | xargs sudo gem install

+0

Très utile. Pour exécuter le script de désinstallation, j'ai dû alterner entre l'ajout de -i /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8 et pas avant que toutes les gemmes aient été supprimées. –

+0

J'ai utilisé: liste gem --no-versions | xargs sudo gem désinstallation -aIx -i /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8 ** ou ** gem list --no-versions | xargs sudo gem désinstallation -aIx -i /Library/Ruby/Gems/1.8 selon l'emplacement de la Gem. – terrace

+0

Je viens de passer la dernière heure à chercher différentes alternatives et c'est celle qui a fonctionné pour moi. BTW, je n'ai pas utilisé SUDO. Que Dieu vous bénisse, je vous donnerais 50 votes si je pouvais –

Questions connexes