2010-06-17 3 views
13

Je suis assez nouveau sur Ruby/Rails mais je jetais un oeil à bundler et je me demandais comment cela fonctionne exactement. Installez-vous un ensemble complet de gemmes comme gem install XYZ, puis utilisez le Gemfile pour extraire un certain sous-ensemble de ces gemmes à utiliser avec une application spécifique? Ou n'installez-vous plus normalement les gemmes et vous n'avez qu'à les inclure dans le Gemfile, puis faire un bundle install pour les inclure dans un paquet qui est ensuite utilisé avec votre application?Comment fonctionne le bundler (en général)?

Merci beaucoup d'avoir pris le temps d'y répondre, je suis juste un peu confus sur ce que la fonctionnalité de bundler est exactement.

- MAP

+0

départ http://gembundler.com/ si vous avez pas déjà. C'est le site officiel de bundler. – x1a4

Répondre

3

Pensez bundler comme un outil de gestion de paquet.

De bundle help commande:

bundle install # Installez l'environnement actuel au système

bundle package # Serrures et met en cache alors toutes les pierres précieuses dans fournisseur/cache

Alors commande bundle install installera toutes les gemmes au système qui sont répertoriés dans Gemfile ainsi que leurs dépendances. Si la gemme n'a pas été précédemment installée, elle l'attrapera dans le repo de gemcutter. bundle package mettra en cache les fichiers .gem dans votre répertoire apps fournisseur/cache.

Pas besoin d'exécuter gem install en premier.

+0

Je sais que nous ne sommes pas censés demander de suivi sur stackoverflow (selon la FAQ) mais j'ai une question étendue à ce sujet. Ce que j'essaie vraiment de faire est de gérer plusieurs rails et plusieurs versions de ruby ​​sur une seule machine. Alors, est-ce que j'utiliserais les gemsets de RVM pour cela et ensuite utiliser bundler dans le cadre de chaque gemset RVM que je crée afin de changer les gemsets et avec eux les versions des rails? – MAP

+0

Je ne sais toujours pas comment cela fonctionne - comment est-ce que cela vous assure d'utiliser la bonne version d'une gemme, par exemple, lorsqu'il y en a plusieurs? – Toybuilder

+0

@Toybuilder Vous spécifiez vos dépendances Gem dans un Gemfile. Bundler résout entièrement votre graphique de dépendance Gem et le gèle dans Gemfile.lock de votre application. Vous pouvez réellement voir le graphique en utilisant 'bundle viz'. –