【发布时间】:2012-01-12 07:06:24
【问题描述】:
与大多数 Rails 开发人员一样,我的系统上有很多 Rails 应用程序——运行不同版本的 Rails。因此,我现在有多个版本的 Rake(0.8.7 和 0.9.2)。
每个应用程序都部署在自己的 VPS 上,只运行一个版本的 Rails 和一个版本的 Rake。
此外,这些项目中还有其他开发人员拥有自己的设置,他们可能拥有或不拥有相同(或两者)版本的 Rake。
管理此问题的最佳做法是什么?
我应该在我的 Gemfile 中指定一个 Rake 版本吗(对于 Rails 3 应用程序,使用 Bundler)?如果我这样做,那么我总是需要bundle exec rake,这很好——但我想知道这是否是现在的标准。每个人都必须这样做吗?有办法避免吗?
另外,as noted elsewhere,我必须更新我的 Rakefile
require 'rake/dsl_definition'
include Rake::DSL
如果我想使用 Rake 0.9.2。即使这样,我也会收到以下警告:
/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
我应该只在我的 Gemfile 中指定 0.8.7 吗?看来我应该可以使用 0.9.2。
我 (a) 需要服务器上的应用在没有 bundle exec 的情况下工作,所以像 rake db:migrate 这样简单的东西可以工作,并且 (b) 需要一些可以与其他开发人员很好地配合的东西。
人们是如何处理这个问题的?什么似乎运作良好?什么没有?
任何反馈都将不胜感激!
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 rake