web-dev-qa-db-ja.com

Bundlerはgemの互換バージョンを見つけることができませんでしたRails app

新しいRailsアプリを作成した後、公式のRailsブログ post に続いて、アプリをRails 3.2.0.rc2は以下を生成します

Updated Gemfile to depend on Rails ~> 3.2.0.rc2
    gem 'Rails', '~>3.2.0.rc2'
Updated Gemfile to depend on sass-Rails ~> 3.2.3
    gem 'sass-Rails',   '~> 3.2.3'

$ bundle install
Fetching source index for http://rubygems.org/
Bundler could not find compatible versions for gem "activesupport":
  In snapshot (Gemfile.lock):
    activesupport (3.1.1)

  In Gemfile:
    Rails (~> 3.2.0.rc2) Ruby depends on
      activesupport (= 3.2.0.rc2) Ruby

Running `bundle update` will rebuild your snapshot from scratch, using 
only the gems in your Gemfile, which may resolve the conflict.

$bundle update
Fetching source index for http://rubygems.org/
Bundler could not find compatible versions for gem "railties":
  In Gemfile:
    coffee-Rails (~> 3.1.1) Ruby depends on
      railties (~> 3.1.0) Ruby

    Rails (~> 3.2.0.rc2) Ruby depends on
      railties (3.2.0.rc2)

問題は正確には何ですか?

システム仕様:

Mac OS 10.7.2、Xcode 4.2.1、rvm 1.10.1、Ruby 1.9.3p0(2011-10-30リビジョン33570)を使用)[x86_64-darwin11.2.0]

19
rudolph9

ロックrm Gemfile.lockを削除し、再度bundle installを実行して解決しました。

$ rm Gemfile.lock
$ bundle install
Using rake (0.9.2.2) 
Using i18n (0.6.0) 
Using multi_json (1.0.4) 
Using activesupport (3.2.0.rc2) 
Using builder (3.0.0) 
Using activemodel (3.2.0.rc2) 
Using erubis (2.7.0) 
Using journey (1.0.0) 
Using rack (1.4.0) 
Using rack-cache (1.1) 
Using rack-test (0.6.1) 
Using hike (1.2.1) 
Using tilt (1.3.3) 
Using sprockets (2.1.2) 
Using actionpack (3.2.0.rc2) 
Using mime-types (1.17.2) 
Using polyglot (0.3.3) 
Using treetop (1.4.10) 
Using mail (2.3.0) 
Using actionmailer (3.2.0.rc2) 
Using arel (3.0.0) 
Using tzinfo (0.3.31) 
Using activerecord (3.2.0.rc2) 
Using activeresource (3.2.0.rc2) 
Using bundler (1.0.21) 
Using coffee-script-source (1.2.0) 
Using execjs (1.2.13) 
Using coffee-script (2.2.0) 
Using rack-ssl (1.3.2) 
Using json (1.6.4) 
Using rdoc (3.12) 
Using thor (0.14.6) 
Using railties (3.2.0.rc2) 
Using coffee-Rails (3.2.1) 
Using jquery-Rails (2.0.0) 
Using Rails (3.2.0.rc2) 
Using sass (3.1.12) 
Using sass-Rails (3.2.3) 
Using sqlite3 (1.3.5) 
Using uglifier (1.2.2) 
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.

これは問題を修正するためのかなり力強い方法です。これが確立されたプロジェクトである場合、依存関係バージョンがロックされなくなったため、Gemfile.lockを削除した後に他の問題が発生する可能性があります。ただし、これが新しいプロジェクトである場合、このアプローチをとると問題が発生する可能性は低くなります。

63
rudolph9

sass-Railsと同様に、依存しているcoffee-Railsのバージョンをバンプする必要があります(3.2.1で実行する必要があります)

2

バンドルのバージョンがGemfile.lockの最後の行のBUNDLED WITHと同じでない場合、Gemfileに新しいgemを追加した後にのみ、「gem GEMNAMEの互換性のあるバージョンが見つからなかった」可能性があります。

1
Feuda

このように行きます:gem 'activeadmin', github: 'gregbell/active_admin' da gemfile。 Rails 4がmasterブランチにマージされた のアクティブ管理サポートRails 4

0
Connor Leech