1

バンダーWeb サイトのガイドを使用して、さまざまな Rails 2.3.x バージョンで動作するように Bundler を構成しようとしているので、本番環境で使用する前に開発環境でバージョンをテストできます。次の 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 エラーが発生します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

同じページから:

特定のグループの gem を要求します。名前付きグループ外の gem は :default グループにあることに注意してください。

Bundler.require(:default, :development)

デフォルトの gem に加えて、現在の Rails 環境と同じ名前のグループ内の gem が必要です

Bundler.require(:default, Rails.env)

この場合、2 つ目が必要です。

于 2011-02-24T06:31:34.210 に答える