RVM: Deinstallieren aller Edelsteine ​​eines Gemset

136

Ich habe globale Edelsteine ​​und verschiedene Edelsteine. Ich möchte alle Edelsteine ​​eines Edelsteinsets entfernen. Gibt es eine Möglichkeit, dies zu tun, außer das Gemset zu deinstallieren?

Nerian
quelle

Antworten:

256

Verwenden Sie den gemset emptyBefehl:

rvm gemset empty mygems
Andy Lindeman
quelle
8
Sie müssen das Gemset angeben, das Sie leeren möchten. Es reicht nicht aus, nur "rvm use [gemset_name]". Sie müssen "rvm gemset empty [gemset_name]".
Refaelos
Ich nehme an, wenn Sie viele Edelsteine ​​haben, kann es eine Weile dauern, sie alle zu deinstallieren.
Andy Lindeman
14
Übrigens kann ich gerade rennen rvm gemset emptyund es löscht das aktuelle Gemset.
Ibrahim
17

Dieser Befehl entfernt alle in 1-Schritt lokal installierten Ruby-Edelsteine. Funktioniert gut in Ubuntu 10.10

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

PS - Entfernt alle lokalen Edelsteine. Verwenden Sie sudo entsprechend.

Sulabh Jain
quelle
2
gem list --no-versions | xargs gem uninstall -aIx
Gem
12

rvm gemset empty <gemset name>

Dadurch werden alle Edelsteine ​​aus Ihrem erwähnten Edelsteinset entfernt.

Ramiz Raja
quelle
12

Sie können auch verwenden rvm --force gemset empty

Matilda
quelle
4

rvm gemset empty <gemset> funktioniert, aber nur, wenn Sie einen Gemset-Namen angeben.

Wenn Sie das Standard- Gemset leeren möchten, müssen Sie eine leere Zeichenfolge für den Gemset-Namen übergeben.

rvm gemset empty mygems ""

Craig Walker
quelle
3

Ist das Entfernen aller Edelsteine ​​aus einem Gemset nicht im Wesentlichen der gleiche Vorgang wie das Löschen eines Gemset und das anschließende Hinzufügen? Warum nicht einfach so machen:

$ rvm gemset mygemset
$ rvm gemset delete mygemset
$ rvm gemset create mygemset
Upgradingdave
quelle
Ja, im Wesentlichen ist es das gleiche. Aber ich habe mich gefragt, ob es eine Möglichkeit gibt, dies zu tun, ohne das Gemset zu löschen. Wenn Sie ein Gemset löschen, werden die Gems auch entfernt oder in einem Cache gespeichert?
Nerian
1
Ich bin mir ziemlich sicher, dass sie vollständig entfernt wurden. Zum Beispiel habe ich ein Gemset namens jruby-1.5.6@radiant. Alle Edelsteine ​​befinden sich hier : /Users/dparoulek/.rvm/gems/jruby-1.5.6@radiant. Wenn ich das tue rvm gemset radiant, warnt es Sie, sich zu vergewissern, und löscht dann das gesamte /Users/dparoulek/.rvm/gems/jruby-1.5.6@radiantVerzeichnis.
Upgradingdave
Das wäre ungefähr das Gleiche, denke ich. Ich suchte nach einer Alternative, weil ich alle Edelsteine ​​aus dem globalen Gemset entfernen wollte, um zu verhindern, dass neue Edelsteine ​​die Edelsteine ​​aus dem globalen Gemset "erben".
Moiz Raja
2

Dies ist der sicherste Weg, um alle Edelsteine ​​eines Gemset zu deinstallieren

Schritt 1

Wenn Ihre Edelsteinversion kleiner als 2.1 ist.

gem update --system

gem --version

Schritt 2

gem uninstall --all

Verweise

Mukesh Kumar Gupta
quelle