1

我正在尝试使用bunder 网站中的指南将 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

当我尝试在开发模式下运行服务器时,我得到一个 bundler error 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 的目标是帮助我做到这一点。谢谢。

4

1 回答 1

1

http://gembundler.com/groups.html

我认为您只需要指定要安装的组。我认为默认情况下它只会遍历所有组,因此只需指定您不需要的内容。

bundle install --without production

来自同一页面:

需要特定组中的宝石,注意命名组之外的宝石在 :default 组中

Bundler.require(:default, :development)

需要默认的 gem,以及与当前 Rails 环境同名的组中的 gem

Bundler.require(:default, Rails.env)

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

于 2011-02-24T06:31:34.210 回答