J'utilise Mac OSX 10.6.4 et j'ai installé RVM. Cela a été génial jusqu'à présent, j'aime vraiment la façon dont il me permet de gérer plusieurs versions de Rails et Ruby sur la même machine sans maux de tête!)
Cependant, je ne veux pas avoir à installer certaines gemmes (telles que passager) pour chaque configuration. Existe-t-il un moyen de partager des gemmes entre des ensembles de gemmes? J'ai un [email protected] et 1.9.2@Rails3, puis-je avoir des gemmes telles que passager, mysql et capistrano installées une fois et utilisées avec toutes les versions?
Il y a quelque chose appelé le jeu de gemmes global, et il est partagé entre tous vos jeux de gemmes d'une certaine version Ruby. Mais vous ne pouvez pas partager de gemmes entre les versions Ruby.
Cependant, ce que vous pouvez faire est de créer une liste de gemmes qui seront installées automatiquement lors de l'ajout d'une nouvelle version Ruby. Cela est décrit ici . En bref: éditez un fichier appelé ~/.rvm/gemsets/global.gems
pour contenir la liste des gemmes que vous voulez être là pour chaque version Ruby.
J'espère que cela aide.
Avec la dernière version RVM (1.17.0 et plus récente), tapez simplement:
rvm @global do gem install passenger
ou
rvm 1.9.3@global do gem install passenger
si vous en avez besoin uniquement pour une version spécifique de Ruby.
Vous pouvez créer et utiliser des ensembles de gemmes globaux avec les commandes suivantes:
rvm gemset create global
rvm gemset use global
Après avoir créé et exécuté l'utilisation du jeu de gemmes global, installez simplement les gemmes comme d'habitude:
gem install mysql passenger
ajoutez les gemmes que vous voulez pour chaque gemme dans un nom de gemme rvm "global" c'est-à-dire.
rvm 1.9.2@global
puis projetez des jeux de gemmes spécifiques rvm 1.9.2@myProject
vous aurez déjà vos joyaux "par défaut" de votre liste globale
Selon la documentation de RVM, il existe en fait un certain nombre de jeux de gemmes "globaux" qui peuvent être définis au niveau de rvm, par interprète, par version d'interprète, et enfin à un niveau de patch spécifique par interprète. Et les gemmes installées montent en cascade d'un niveau à l'autre.