使用bundler在开发/生产中管理不同的rails 2.3.x版本

时间:2011-02-24 06:13:14

标签: ruby-on-rails bundler version-numbering

我正在尝试使用guide in the bunder website配置Bundler以使用不同的Rails 2.3.x版本,因此我可以在开发环境中测试其在生产中使用之前的版本。我有以下Gemfile:

# some common gems

group :development do
  # installed on dev machine
  gem "rails", "2.3.11" 

  #... some more dev gems
end

group :production do
  gem "rails", "2.3.8", :path => 'vendor/rails'
end

当我尝试以开发模式运行服务器时,我收到了一个捆绑错误You cannot specify the same gem twice with different version requirements. You specified: rails (= 2.3.11) and rails (= 2.3.8) (Bundler::DslError)。我错过了什么?我认为Bundler的目标是帮助我做到这一点。感谢。

1 个答案:

答案 0 :(得分:1)

http://gembundler.com/groups.html

我认为您只需要指定要安装的组。我认为默认情况下它只是通过所有组,所以只需指定你不需要的东西。

bundle install --without production

来自同一页面:

需要特定组中的gem,注意命名组之外的gem位于:default group

Bundler.require(:default, :development)

需要默认宝石,以及与当前Rails环境名称相同的组中的宝石

Bundler.require(:default, Rails.env)

在这种情况下,您需要第二个。