2010-12-23 2 views
1

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.

Répondre

2

est-il pas juste gem 'rails', '3.0.3', :path => "vendor/rails" dans votre Gemfile?

1

Utilisez cette ligne dans votre Gemfile:

gem 'rails', :path => "vendor/rails" 
+0

Does not Rails ne se recherche pas dans le dossier du fournisseur avant de rechercher la copie système? – Zabba

+0

@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. –

+0

Quel est l'effet de l'inclusion de la version, comme l'a fait @ziggurism? –