J'ai un sous-module git de git: //github.com/rails/rails dans vendor/rails
de mon application Rails 3. C'est là qu'un Rails déballé/vendu irait avant 3.0.Comment puis-je vendre Rails 3?
Comment puis-je indiquer à mon Gemfile que l'emplacement correct est vendor/rails
et que les rails de mon système ne sont pas installés?
Ainsi, certaines personnes ont remarqué que vous pouvez faire simplement:
gem 'rails', :path => "vendor/rails"
Vous pouvez également inclure un numéro de version, par exemple,
gem 'rails', '3.0.3', :path => "vendor/rails"
ces deux dépendent de ce que vous effectivement avoir vendor/rails
. Par exemple, si je fais git checkout v3.0.3
dans vendor/rails
, les deux fonctionneront très bien d'eux-mêmes (3.0.3 est le courant).
Mais si j'utilise une version bêta, il me semble plutôt need to add some additional dependencies:
gem 'rails', :path => "vendor/rails"
gem 'arel', :git => 'git://github.com/rails/arel.git'
gem 'rack', :git => 'git://github.com/rack/rack.git'
Je pourrais aussi extraire ces derniers dans vendor
comme sous-modules git, je suppose, et utiliser à nouveau :path
.
Sachez que le rack provient de rack/rack
sur github, et non de rails/rack
. Ce dernier est une fourchette et n'a pas été mis à jour depuis 2009. J'ai fait cette erreur et j'ai passé des heures à la réparer.
Si d'anciennes versions de rails sont installées sur votre machine, vous devrez peut-être prendre soin d'utiliser script/rails
au lieu de la commande rails
.
Does not Rails ne se recherche pas dans le dossier du fournisseur avant de rechercher la copie système? – Zabba
@Zabba: Non, par défaut, Bundler est utilisé pour charger le répertoire où se trouve Rails. Vous devez être explicite de cette manière pour être en mesure de l'avoir au vendeur/rails. –
Quel est l'effet de l'inclusion de la version, comme l'a fait @ziggurism? –