Désinstallation de tous les gemmes Ruby 2.0.0
il semble que ruby 2.0.0 a ajouté des gemmes" par défaut " au mélange et les rend non amovibles par GEM uninstall.
Comment Pouvez-vous supprimer tous les gemmes non par défaut?
4 réponses
j'ai utilisé ce script d'une ligne.
for i in `gem list --no-versions`; do gem uninstall -aIx $i; done
il ignore les erreurs gem par défaut et ne fait que poursuivre. Simple et évidente.
tout d'abord, allez dans le répertoire des gemmes
Comme. ./ruby/2.0.0-p195/lib/ruby/gems/2.0.0/spécifications
Vous trouverez un répertoire nommé par défaut, qui inclut tous les gemmes par défaut livrés avec ruby 2.0
Déplacer tous les *.gemspec stocké dans par défaut dir spécifications dir et de supprimer le vide par défaut dir.
alors vous pouvez faire ce que vous voulez comme au bon vieux temps.: -)
j'ai écrit un script dans ruby pour supprimer toutes les gemmes non par défaut.
https://gist.github.com/nixpulvis/5042764
Ceci est nécessaire maintenant parce que contrairement à avant 2.0.0 certaines gemmes sont étiquetées "par défaut" avec l'installation de ruby, et ne peuvent pas être désinstallées avec gem uninstall. Cela rend les méthodes précédemment populaires pour supprimer toutes les gemmes ne fonctionne pas.
pour référence ici il est.gem list | cut -d" " -f1 | xargs gem uninstall
je n'ai pas encore trouvé une meilleure solution que d'exclure le "défaut" de gemmes:
/usr/local/bin/gem list --no-versions | \
grep -v -E "(bigdecimal|io-console|json|minitest|psych|rake|rdoc|test-unit)" | \
xargs --no-run-if-empty /usr/local/bin/gem uninstall --executables --user-install --all --force