Comme la plupart des développeurs de Rails, j'ai beaucoup d'applications Rails sur mon système - exécutant différentes versions de Rails. En conséquence, j'ai maintenant plusieurs versions de Rake (0.8.7 et 0.9.2).Plusieurs versions de rake - Meilleures pratiques
Chacune des applications est déployée sur son propre VPS, exécutant une seule version de Rails et une version de Rake. En outre, il existe d'autres développeurs sur ces projets qui ont leurs propres configurations, qui peuvent avoir ou non la même version (ou les deux) de Rake.
Quelle est la meilleure pratique pour gérer cela?
Dois-je spécifier une version de Rake in my Gemfile (pour les applications Rails 3, en utilisant Bundler)? Si je le fais, alors j'ai toujours besoin de bundle exec rake
, ce qui est bien - mais je me demande si c'est maintenant la norme. Est-ce que tout le monde doit le faire? Y a-t-il un moyen de l'éviter?
En outre, as noted elsewhere, je dois mettre à jour mon Rakefile avec
require 'rake/dsl_definition'
include Rake::DSL
si je veux utiliser Rake 0.9.2. Même alors, je reçois ces avertissements:
/Library/Ruby/Gems/1.8/gems/rake-0.9.2/lib/rake/file_utils.rb:10: warning: already initialized constant RUBY
/Library/Ruby/Gems/1.8/gems/rake-0.9.2/lib/rake/file_utils.rb:84: warning: already initialized constant LN_SUPPORTED
Dois-je juste spécifier 0.8.7 dans mon Gemfile? Il semble que je devrais pouvoir utiliser 0.9.2. Je (a) besoin de l'application sur le serveur pour travailler sans bundle exec
, des choses simples comme rake db:migrate
de travail, et (b) besoin de quelque chose qui jouera bien avec d'autres développeurs.
Comment les gens manipulent-ils cela? Qu'est-ce qui semble bien fonctionner? Qu'est-ce qui ne va pas?
Un commentaire serait grandement apprécié!