我正在尝试使用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的目标是帮助我做到这一点。感谢。
答案 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)
在这种情况下,您需要第二个。