61 votes

Comment utiliser RVM et créer des gemmes disponibles dans le monde entier?

J'utilise Mac OSX 10.6.4 et j'ai installé RVM. C’est génial jusqu’à présent, j’adore la façon dont il me permet d’avoir plusieurs versions de rails et de rubis sur la même machine sans maux de tête!

Cependant, je ne veux pas avoir à installer certains joyaux (comme les passagers) pour chaque configuration. Existe-t-il un moyen de partager des joyaux entre des joyaux? J'ai les versions 1.8.7@rails2.3.8 et 1.9.2@rails3. Puis-je installer des gemmes telles que passagers, mysql et capistrano une fois et les utiliser avec toutes les versions?

67voto

nathanvda Points 25878

Il y a quelque chose qui s'appelle le global sertie, et il est partagé entre tous vos gemsets d'une certaine ruby-version. Mais vous ne pouvez pas partager des gemmes entre ruby-versions.

Cependant, ce que vous pouvez faire est de créer une liste de pierres précieuses qui sera installé automatiquement lors de l'ajout d'une nouvelle version de ruby. Qui est décrit ici. En bref: modifier un fichier appelé ~/.rvm/gemsets/global.gems de contenir la liste de gemmes que vous voulez être là pour chaque ruby-version.

Espérons que cela aide.

62voto

yas375 Points 1431

Avec la dernière version RVM d’aujourd’hui, il suffit de taper:

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.

31voto

ennuikiller Points 28005

Vous pouvez créer et utiliser des gemsets globaux avec les commandes suivantes:

 rvm gemset create global
rvm gemset use global
 

Une fois que vous avez créé et exécuté, utilisez pour le gemset global, installez simplement les gems comme d'habitude:

 gem install mysql, passenger
 

4voto

Justin Soliz Points 1310

ajoutez les gemmes que vous voulez pour chaque gemset dans un nom "global" de rvm gemset c'est-à-dire

 rvm 1.9.2@global
 

alors les gemsets spécifiques au projet rvm 1.9.2@myProject auront déjà vos gems "par défaut" de votre liste globale

2voto

Jase Points 343

Selon la documentation de RVM, il existe en réalité un certain nombre de gems "globaux" qui peuvent être définis au niveau de la RVM, par interprète, par version d'interprète et enfin à un niveau de correctif spécifique par interprète. Et les pierres précieuses installées en cascade d'un niveau à l'autre.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X