web-dev-qa-db-fra.com

RVM: liste de toutes les gemmes dans le jeu de gemmes actuel en ignorant global et par défaut

Vous cherchez quelque chose comme gem list dans un jeu de gemmes RVM mais pour qu'il ignore les pierres précieuses dans les jeux de gemmes global et par défaut afin que je puisse voir, facilement, exactement quelles sont les pierres précieuses dans le jeu de gemmes actif (et uniquement le jeu de gemmes actif).

33
Meltemi

pour global:

rvm @global do gem list

pour les autres gemmes:

GEM_PATH=$GEM_HOME gem list

@global est un ensemble de gemmes que tous les autres ensembles de gemmes héritent pour Ruby donné, il n'hérite pas de m lui-même, il est donc sûr de le sélectionner et d'exécuter gem list dans son contexte.

Pour tous les autres jeux de gemmes, vous pouvez utiliser le fait que gem list affiche les gemmes de tous les chemins disponibles dans GEM_HOME et GEM_PATH, réinitialisation GEM_PATH être égal GEM_HOME ne rendra disponible qu'un seul chemin - celui de GEM_HOME donc gem list n'affichera que les gemmes dans le jeu de gemmes sélectionné, en ignorant tous les autres jeux de gemmes (à ce moment, le @global, mais RVM 2.0 prendra en charge l'héritage de plusieurs ensembles de gemmes).

60
mpapis

La façon la plus simple de le faire est d'utiliser la commande bash qui affiche la liste des répertoires dans votre répertoire gemset actuel

$ ls `rvm gemdir`/gems
23
Nick Kugaevsky

Tout d'abord, chaque fois qu'un autre jeu de gemmes est sélectionné, le contenu du jeu de gemmes par défaut (sans nom) devient invisible.

Comme vous le savez, le gemset @global est effectivement inclus dans tous les autres gemsets pour le Ruby actuellement sélectionné normalement.

Cependant, pour voir le contenu d'un jeu de gemmes, à l'exclusion du jeu de gemmes @global, faites d'abord rvm use 2.0.0@some-gemset --ignore-gemsets (Ou similaire pour les autres rubis) puis gem list.

De même, pour voir le contenu du jeu de gemmes @global, faites d'abord rvm use 2.0.0@global Puis gem list.

De même, pour voir le contenu du jeu de gemmes par défaut, faites rvm use 2.0.0 --ignore-gemsets Puis gem list.

BTW, vous pouvez sélectionner un jeu de gemmes pour être (soi-disant) par défaut pour les nouveaux shells (sans connexion) (et je le fais toujours dans .bash_profile, Etc. séparément pour chacun Ruby interprète) mais c'est un autre type de jeu de gemmes par défaut, pas le jeu de gemmes par défaut (sans nom) ci-dessus.

4
MarkDBlackwell