................................................................... ....
3 に答える
バージョン要件のため、両方の gem を同時に更新する必要があります。
試す:
bundle update rspec-rails rspec-core
編集:
Gemfile を投稿していただきありがとうございます。本当の問題は、rspec-rails のバージョンがロックされていることです。
行を変更します。
gem 'rspec-rails', '2.1.0'
に
gem 'rspec-rails', '~> 2.12.2'
その後、bundle update rspec-rails
完全に機能するはずです。
Gemfile を見ずに正確に答えるのは難しいですが、メッセージは、Gemfile の rspec-core のバージョン 2.10.1 に依存していたが、rspec-core に依存する rspec-rails 2.1.0 にも依存していたことを示しています。~> 2.1.0
、これは rspec-core バージョン 2.1.0-2.1.x を意味します。およびパッチ レベルのバージョン番号を使用~>
すると、パッチ バージョン (最後の番号) は指定されたものと同じかそれ以上になる可能性がありますが、マイナー バージョン (2 番目の番号) またはメジャー バージョン (最初の番号) は指定できません。
修正は、rspec-rails が定義されている場合、Gemfile から rspec/rspec-core を削除するだけで、rspec-core が rspec-rails によって読み込まれます。執筆時点 (2013-02-06) では、最新の rspec-rails は 2.12.2 であるため、以下gem 'rspec-rails', '~> 2.12.2'
を使用してから、テストを更新して最新の構文を使用することをお勧めします。そうすれば最新ですが、bundle update
後で使用すると、新しいバージョンが 2.12.3 以降であれば更新されますが、2.13.x 以降には更新されません。あなたのテスト。
詳細については、次を参照してください。
- Gem のバージョン: http://docs.rubygems.org/read/chapter/16#page74
- バンドラーのドキュメント: http://gembundler.com/
@ダニエル・エヴァンの答えはあなたのために働くはずですが、あなたの質問の次の部分を説明するために...
bundle install は、現在の Gemfile.lock を使用して gem をインストールします。Gemfile.lock は、バンドルのインストールを初めて行うときに生成され、バンドルの更新を行うときに更新されます。だから、もしあなたが
bundle update
新しく生成された依存関係ツリーで Gemfile.lock を更新します。ここで問題を解決する必要があります。