wake-up-neo.com

Deinstalliere alte Versionen von Ruby-Edelsteinen

Ich habe mehrere Versionen eines Rubin-Edelsteins:

$ gem list
rjb (1.3.4, 1.3.3, 1.1.9)

Wie kann ich alte Versionen entfernen, aber die aktuellsten behalten?

326
Philippe Blayo
# 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'
575
Dylan Markow

Um ältere Versionen von all installierten Gems zu entfernen, sind die folgenden 2 Befehle hilfreich:

 gem cleanup --dryrun

Der obige Befehl zeigt eine Vorschau der Edelsteine, die entfernt werden sollen .

 gem cleanup

Der obige Befehl entfernt sie tatsächlich.

232
ohho

Versuchen Sie etwas wie gem uninstall rjb --version 1.3.4.

12
Daniel O'Hara

gem cleanup verwendet Systembefehle. Installierte Edelsteine ​​sind nur Verzeichnisse im Dateisystem. Wenn Sie im Stapel löschen möchten, verwenden Sie rm -R.

  1. gem environment und notiere den Wert von GEM PATHS
  2. cd <your-gem-paths>/gems
  3. ls -1 |grep rjb- |xargs rm -R
9
Anatoly

So entfernen Sie alte Versionen von Edelsteinen.

Sudo gem cleanup

Wenn Sie nur eine Liste der entfernten Objekte anzeigen möchten, können Sie Folgendes verwenden:

Sudo gem cleanup -d

Sie können auch nur einen bestimmten Edelstein bereinigen, indem Sie seinen Namen angeben:

Sudo gem cleanup gemname

nur für bestimmte Versionen wie 1.1.9

gem uninstall gemname --version 1.1.9

Wenn Sie immer noch mit einer Ausnahme konfrontiert werden, um gem zu installieren, wie:

ungültiges gem: Paket ist beschädigt, Ausnahme beim Überprüfen: undefined Methode `size 'für nil: NilClass (NoMethodError) in /home/Rails/.rvm/gems/[email protected]/cache/nokogiri-1.6.6.2. Juwel

das können Sie aus dem Cache entfernen:

rm /home/Rails/.rvm/gems/[email protected]/cache/nokogiri-1.6.6.2.gem

Für mehr Details:

http://blog.grepruby.com/2015/04/way-to-clean-up-gem-or-remove-old.html

8
user3118220

Sie müssen möglicherweise GEM_HOME einstellen, damit die Bereinigung funktioniert. Sie können überprüfen, welche Pfade für gemfiles vorhanden sind, indem Sie Folgendes ausführen:

gem env

Beachten Sie den Abschnitt GEM PATHS.

In meinem Fall zum Beispiel mit Edelsteinen, die in meinem Benutzer zu Hause installiert sind:

export GEM_HOME="~/.gem/Ruby/2.4.0"
gem cleanup
0
lkraider