RVM: Désinstaller toutes les gemmes d'un ensemble de gemmes

136

J'ai des gemmes mondiales et divers ensembles de gemmes. Je souhaite supprimer toutes les gemmes d'un ensemble de gemmes. Existe-t-il un moyen de faire cela, en plus de désinstaller le jeu de gemmes?

Nerian
la source

Réponses:

256

Utilisez la gemset emptycommande:

rvm gemset empty mygems
Andy Lindeman
la source
8
Vous devez spécifier le jeu de gemmes que vous souhaitez vider. Il ne suffit pas de "rvm use [gemset_name]". Vous devez "rvm gemset empty [gemset_name]".
refaelos
Je suppose que si vous avez beaucoup de gemmes, la désinstallation peut prendre un certain temps.
Andy Lindeman
14
Incidemment, en ce moment, je suis capable de courir rvm gemset emptyet cela efface l'ensemble de gemmes actuel.
Ibrahim
17

Cette commande supprime toutes les gemmes ruby ​​installées localement en 1 étape Fonctionne bien dans Ubuntu 10.10

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

PS - supprime toutes les gemmes locales. Utilisez sudo en conséquence.

Sulabh Jain
la source
2
gem a également un indicateur --no-versions, ce qui est bien: gem list --no-versions | xargs gem uninstall -aIx
trisweb
12

rvm gemset empty <gemset name>

Cela supprimera toutes les gemmes de votre ensemble de gemmes mentionné.

Ramiz Raja
la source
12

vous pouvez aussi utiliser rvm --force gemset empty

Mathilde
la source
4

rvm gemset empty <gemset> fonctionne, mais uniquement si vous spécifiez un nom de jeu de gemmes.

Si vous souhaitez vider le jeu de gemmes par défaut , vous devez passer une chaîne vide pour le nom du jeu de gemmes.

rvm gemset empty mygems ""

Craig Walker
la source
3

La suppression de toutes les gemmes d'un ensemble de gemmes n'est-elle pas essentiellement la même opération que la suppression d'un ensemble de gemmes, puis son ajout? Pourquoi ne pas simplement faire ceci:

$ rvm gemset mygemset
$ rvm gemset delete mygemset
$ rvm gemset create mygemset
Mise à niveaudave
la source
Oui, c'est essentiellement la même chose. Mais je me demandais s'il existe un moyen de le faire sans supprimer l'ensemble de gemmes. Lorsque vous supprimez un ensemble de gemmes, les gemmes sont-elles également supprimées ou sont-elles enregistrées dans un cache?
Nerian le
1
Je suis presque sûr qu'ils sont complètement supprimés. Par exemple, j'ai un gemset nommé jruby-1.5.6@radiant. Toutes les pierres précieuses se trouvent ici: /Users/dparoulek/.rvm/gems/jruby-1.5.6@radiant. Lorsque je le fais rvm gemset radiant, il vous avertit de vous en assurer, puis supprime tout le /Users/dparoulek/.rvm/gems/jruby-1.5.6@radiantrépertoire.
Upgradingdave le
Ce serait à peu près la même chose, je suppose. Je cherchais une alternative parce que je voulais supprimer toutes les gemmes du jeu de gemmes global afin que je puisse empêcher les nouveaux jeux de gemmes "d'hériter" des gemmes du jeu de gemmes global.
Moiz Raja
2

C'est le moyen le plus sûr de désinstaller toutes les gemmes d'un ensemble de gemmes

Étape 1

Si votre version gem est inférieure à 2.1.

gem update --system

gem --version

Étape 2

gem uninstall --all

références

Mukesh Kumar Gupta
la source