2010-07-28 18 views
0

Je suis en train d'écrire un nouveau bijou que je base sur Yehuda's new gem template et je suis légèrement confus. Avoir un Gemfile avec des dépendances, et aussi spécifier un gemspec avec des dépendances me semble redondant. Quelqu'un peut-il expliquer pourquoi cela est souhaitable et si c'est vraiment nécessaire? Remarquez, ceci est la première gemme que j'ai jamais écrite, donc je suis nouveau dans tout ça.Questions sur la construction d'une nouvelle gemme en utilisant le modèle Wycats

Répondre

1

Les dépendances .gemspec disent à rubygems ce qu'il doit saisir pour résoudre les dépendances lorsqu'un utilisateur installe votre gemme. Le Gemfile est de gérer les dépendances tandis que vous développez la gemme. Rubygems et Bundler ne sont pas connectés, du moins pas encore.

+0

Ainsi, le gemfile affiche-t-il la même chose que Gem :: Specification :: add_development_dependency() – brad

0

Le gemspec est requis pour construire la gemme. Le Gemfile est plus pratique, de sorte que les gens qui travaillent sur votre gemme peuvent facilement retirer toutes les dépendances via Bundler. Dans le cas où vous développez plusieurs gemmes apparentées à la fois, vous pouvez également mettre des sources git dans le Gemfile, donc toutes les versions de HEAD peuvent être testées.