Rubygems, Bundler et RVM confusion
-
25-09-2019 - |
Question
Je lis " Les relations entre les Rubygems, Bundler et RVM " avant lui demandant à nouveau.
Eh bien, il y a beaucoup de questions comme celle-ci, mais les gens qui ont répondu disent qu'ils travaillent avec Rubygems, RVM et Bundler, et ils n'ont pas expliqué comment chacun de ces travaux isolément.
Je suis vraiment confus avec la façon dont les trois travaux en vase clos quand nous installons des pierres précieuses. S'il vous plaît ne me dites pas comment vous travaillez, ce qui va me aider, mais je ne vais pas apprendre ce qui se passe quand on joue avec eux.
Ma confusion peut se décomposer en ces questions. Où est un petit bijou installé lorsque:
- J'ai juste Rubygems (sans RVM ou Bundler)?
- Rubygems et RVM sont installés?
- Rubygems, RVM et Bundler sont installés?
S'il vous plaît aidez-moi à comprendre ce genre de choses avec soit des ressources sur le web ou par vos réponses détaillées.
La solution
- Pour savoir où les pierres précieuses sont en cours d'installation pour, exécutez
echo $GEM_HOME
dans un terminal. - Lorsque vous utilisez RVM, pierres précieuses sont installés dans votre RVM installer comme il change GEM_HOME $. L'exécution
echo $GEM_HOME
serait maintenant montrer un chemin dans votre RVM installer. - Lorsque Bundler est ajouté au mélange, pierres précieuses sera soit installé dans
$GEM_HOME
, ou, si vous spécifiez un chemin en cours d'exécutionbundle install
sera installé sur cette voie. Pour savoir où est un petit bijou par Bundler vous pouvez utiliserbundle show gemname
pour obtenir son chemin complet.
Autres conseils
Utilisez gem env
pour lister les chemins de pierres précieuses dans chaque contexte.
Sans RVM gem env
rapportera les chemins de bibliothèque de pierres précieuses du système.
Avec gem env
RVM rapportera les chemins de bibliothèque gem géré RVM.
Bundler gère les dépendances d'application et installe dans la bibliothèque de pierres précieuses dans votre environnement. Si vous utilisez RVM + Bundler, les pierres précieuses seront installés dans les répertoires de pierres précieuses réussi RVM. Si vous utilisez sans RVM, Bundler installera des pierres précieuses dans les répertoires de pierres précieuses du système.
Pour trouver le chemin où un petit bijou est installé l'utilisation:
gem which gem_name
Pour executables (comme html2haml), utilisez:
which executable_name
Pour éviter de taper bundle exec html2haml
ce qui est recommandé par l'équipe Bundler, utilisez mon rubygems-Bundler petit bijou .
Je suis aussi essayer de comprendre comment cela fonctionne. Le blog « conseils sur l'utilisation de Ruby, RVM, passager, Rails, Bundler, ... dans le développement » m'a aidé à avoir une meilleure vue d'ensemble.
BTW, il est une traduction d'un article en français, la version française est meilleure.