web-dev-qa-db-fra.com

Désinstallez les anciennes versions de Ruby Gems

J'ai plusieurs versions d'un joyau Ruby:

$ gem list
rjb (1.3.4, 1.3.3, 1.1.9)

Comment puis-je supprimer les anciennes versions mais conserver les plus récentes?

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

Pour supprimer les anciennes versions de all gems installed, les 2 commandes suivantes sont utiles:

 gem cleanup --dryrun

La commande ci-dessus affichera un aperçu des pierres précieuses à supprimer .

 gem cleanup

La commande ci-dessus les supprimera réellement.

232
ohho

Essayez quelque chose comme gem uninstall rjb --version 1.3.4.

12
Daniel O'Hara

gem cleanup utilise les commandes du système. Les gemmes installées ne sont que des répertoires dans le système de fichiers. Si vous souhaitez supprimer par lots, utilisez rm -R.

  1. gem environment et notez la valeur de GEM PATHS
  2. cd <your-gem-paths>/gems
  3. ls -1 |grep rjb- |xargs rm -R
9
Anatoly

Manière de nettoyer toutes les anciennes versions de pierres précieuses.

Sudo gem cleanup

Si vous voulez juste voir une liste de ce qui serait supprimé, vous pouvez utiliser:

Sudo gem cleanup -d

Vous pouvez également nettoyer uniquement une gemme spécifique en spécifiant son nom:

Sudo gem cleanup gemname

pour supprimer la version spécifique comme 1.1.9 seulement

gem uninstall gemname --version 1.1.9

Si vous faites toujours face à une exception pour installer gem, par exemple:

gem invalide: le paquet est corrompu, exception lors de la vérification: méthode non définie `taille 'pour nil: NilClass (NoMethodError) dans /home/Rails/.rvm/gems/Ruby-2.1.1@project/cache/nokogiri-1.6.6.2. gemme

le, vous pouvez le supprimer du cache:

rm /home/Rails/.rvm/gems/Ruby-2.1.1@project/cache/nokogiri-1.6.6.2.gem

Pour plus de détail:

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

8
user3118220

Vous devrez peut-être définir GEM_HOME pour que le nettoyage fonctionne. Vous pouvez vérifier quels chemins existent pour les fichiers gem en lançant:

gem env

Prenez note de la section GEM PATHS.

Dans mon cas, par exemple, avec des pierres précieuses installées dans ma maison d’utilisateur:

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