64 votes

Confusion Rubygems, Bundler et RVM

J'ai lu "les Relations entre Rubygems, Bundler, et RVM" avant de la poser à nouveau.

Eh bien, il y a beaucoup de questions de ce genre, mais les personnes qui ont répondu déclarent travailler avec Rubygems, RVM et Bundler, et ils n'ont pas expliqué comment chacune de ces travaux en isolation.

Je suis vraiment confus avec la façon dont les trois travaillent dans l'isolement lorsque nous sommes à l'installation de pierres précieuses. S'il vous plaît ne me dites pas comment vous travaillez, ce qui m'aidera, mais je ne vais pas apprendre ce qui se passe quand on joue avec eux.

Ma confusion peut être décomposé en ces questions. Où est un bijou installé lorsque:

  1. J'ai juste Rubygems (sans RVM ou Bundler)?
  2. Rubygems et RVM sont installés?
  3. Rubygems, RVM et Bundler sont installés?

S'il vous plaît aidez-moi à comprendre ce genre de choses avec des ressources sur le web ou par vos réponses détaillées.

37voto

idlefingers Points 15957
  1. Pour savoir où les pierres sont en cours d'installation, exécutez echo $GEM_HOME dans un terminal.
  2. Lors de l'utilisation de RVM, les pierres sont installés dans votre système RVM install de l'évolution de $GEM_HOME. L'exécution echo $GEM_HOME maintenant serait montrer un chemin dans votre RVM install.
  3. Lorsque Bundler est ajouté au mélange, gemmes va être installé en $GEM_HOME, ou, si vous spécifiez un chemin d'accès lors de l'exécution d' bundle install seront installés dans ce chemin. Pour savoir où une gemme est grâce à Bundler vous pouvez utiliser bundle show gemname pour obtenir son chemin d'accès complet.

4voto

Aditya Sanghi Points 7754

Utiliser gem env à la liste de la gemme chemins d'accès dans chaque contexte.

Sans RVM gem env signalent le système de gemme de la bibliothèque des chemins.

Avec RVM gem env rendra compte de la RVM-géré joyau de la bibliothèque des chemins.

Bundler gère les dépendances de l'application et s'installe dans le joyau de la bibliothèque dans votre environnement. Si vous utilisez RVM + Bundler, les gemmes seront installés dans le RVM géré gem répertoires. Si vous l'utilisez sans RVM, bundler va installer des gems dans le système gem répertoires.

0voto

pgras Points 7202

J'essaie aussi de comprendre comment cela fonctionne. Le blog " Conseils d'utilisation de Ruby, RVM, Passenger, Rails, Bundler,… en développement " m'a permis d'avoir une meilleure vue d'ensemble.

BTW, c'est la traduction d'un article en français, la version française est meilleure.

0voto

mpapis Points 32015

Pour trouver le chemin d'installation d'une gemme, utilisez:

 gem which gem_name
 

Pour trouver des exécutables (comme html2haml), utilisez:

 which executable_name
 

Pour éviter de taper bundle exec html2haml recommandé par l'équipe de Bundler , utilisez ma gem rubygems-bundler .

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