Ich habe mehrere Versionen eines Ruby-Edelsteins:
$ gem list
rjb (1.3.4, 1.3.3, 1.1.9)
Wie kann ich alte Versionen entfernen, aber die neuesten behalten?
# remove all old versions of the gem
gem cleanup rjb
# choose which ones you want to remove
gem uninstall rjb
# remove version 1.1.9 only
gem uninstall rjb --version 1.1.9
# remove all versions less than 1.3.4
gem uninstall rjb --version '<1.3.4'
Zum Entfernen älterer Versionen aller installierten Edelsteine sind die folgenden 2 Befehle hilfreich:
gem cleanup --dryrun
Der obige Befehl zeigt eine Vorschau der Edelsteine an, die entfernt werden sollen.
gem cleanup
Der obige Befehl entfernt sie tatsächlich.
Versuchen Sie etwas wie
gem uninstall rjb --version 1.3.4
.quelle
Weg, um alte Versionen von Edelsteinen zu entfernen.
Wenn Sie nur eine Liste der zu entfernenden Elemente anzeigen möchten, können Sie Folgendes verwenden:
Sie können auch nur einen bestimmten Edelstein bereinigen, indem Sie seinen Namen angeben:
nur zum Entfernen bestimmter Versionen wie 1.1.9
Wenn Sie immer noch eine Ausnahme bei der Installation von gem haben, wie zum Beispiel:
ungültiges gem: Paket ist beschädigt, Ausnahme bei der Überprüfung: undefinierte Methode `size 'für nil: NilClass (NoMethodError) in /home/rails/.rvm/gems/ruby-2.1.1@project/cache/nokogiri-1.6.6.2. Juwel
Sie können es aus dem Cache entfernen:
Für mehr Details:
http://blog.grepruby.com/2015/04/way-to-clean-up-gem-or-remove-old.html
quelle
sudo
gem cleanup
verwendet Systembefehle. Installierte Gems sind nur Verzeichnisse im Dateisystem. Wenn Sie stapelweise löschen möchten, verwenden Sierm -R
.gem environment
und notieren Sie den Wert vonGEM PATHS
cd <your-gem-paths>/gems
ls -1 |grep rjb- |xargs rm -R
quelle
Möglicherweise müssen Sie festlegen,
GEM_HOME
dass die Bereinigung funktioniert. Sie können überprüfen, welche Pfade für Gemfiles vorhanden sind, indem Sie Folgendes ausführen:Beachten Sie den Abschnitt GEM PATHS.
In meinem Fall zum Beispiel mit Edelsteinen, die in meinem Benutzerhaus installiert sind:
quelle