web-dev-qa-db-ja.com

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

Rails 4.0.0にアップグレードしようとしていますが、sass-Railscoffee-Railsのgemバージョンを変更しました。 Railsにアップグレードする前に、Railscoffee-Railsの間のこのgemの競合を解決する必要があります。

bundle updateを実行したとき、これは私が得た出力です:

$ bundle update
Updating git://github.com/pilu/web-app-theme.git
Fetching source index from https://rubygems.org/
Resolving dependencies..............
Bundler could not find compatible versions for gem "railties":
  In Gemfile:
    Rails (= 4.0.0) Ruby depends on
      railties (= 4.0.0) Ruby

    coffee-Rails (= 4.0.0) Ruby depends on
      railties (4.0.0.rc2)

私のGemfile

source 'https://rubygems.org'

gem 'Rails', '4.0.0'

gem 'cancan'
gem 'client_side_validations'
gem 'devise', '~> 1.5.3'
gem 'dynamic_form'
gem 'execjs'
gem 'haml'
gem 'httparty'
gem 'jquery-Rails'
gem 'mysql2'
gem 'Paperclip', '~> 2.4'
gem 'prawn'
gem 'Rails3-jquery-autocomplete'
gem 'rake', '0.9.2'
gem 'remotipart', '~> 1.0'
gem 'simple_datatables'
gem 'therubyracer'
gem 'validates_timeliness', '~> 3.0.2'
gem 'will_paginate', '~> 3.0'

gem 'turbolinks'
gem 'jquery-turbolinks'

gem 'noty-Rails'

gem 'font-awesome-Rails'

gem 'socket.io-Rails'

gem 'attr_encrypted'

gem 'bullet', :group => 'development'

#temp for demo.managetherapy.com
#gem 'faker'

group :test do
  gem 'capybara'
  gem 'cucumber-Rails', :require => false
  gem 'database_cleaner'
  gem 'factory_girl_Rails'
#  gem 'faker'
  gem 'guard-rspec'
  gem 'Selenium-webdriver', '2.7.0'
  gem 'webrat'
end

group :development, :test do
  gem 'faker'
  gem 'haml-Rails'
  gem 'hpricot'
  gem 'rspec-Rails'
  gem 'Ruby_parser'
  #gem 'web-app-theme', '~> 0.8.0'
  gem 'web-app-theme', :git =>'git://github.com/pilu/web-app-theme.git'
end

gem 'sass-Rails', '4.0.0'
gem 'compass-Rails', '1.0.3'
gem 'coffee-Rails', '4.0.0'
gem 'uglifier', '>= 2.1.1'
gem 'bootstrap-sass-Rails'

# Use Unicorn as the web server
#gem 'Unicorn'

# Deploy with Capistrano
gem 'capistrano'
gem 'rvm-capistrano'

gem 'passenger'
44
Brian Petersen

また、bundle updateでは一度に1つのgemのみを更新できますが、Rails 4に更新する場合は非常に難しく、多くのgemを同時に更新する必要があります。

Gemfile.lockを削除してbundle installを実行することでこれを解決しました。

もちろん、これはGemfileに最初から競合する明示的なgemバージョンがないことを前提としています。そのため、これが失敗した場合は、Gemfileからバージョン番号を削除します。

69
nathanvda

Gemfileからgemバージョン(coffee-Railsおよびsass-Rails)を削除して、バンドル更新を実行するだけです

23
Ivan Schneider

Deviseの古いバージョンがあります。Rails 4 compatible

gem 'devise', '~> 3.0.0.rc'

また、coffee-Rails

gem 'coffee-Rails', '~> 4.0.0'

そしてやってみて

bundle update coffee-Rails
9
Mike Szyndel

実行gem update Rails まず bundle update

8
andreofthecape

Rails 4.でサポートされていないgemがあります。Rails 4を除くすべてのgemをコメントアウトし、バンドルインストールの実行後に1つずつコメント解除します。バージョンロックの一部を元に戻す必要がある場合があります。

7
penner
  1. Gemfile.lockファイル
  2. 参照 here 基本的なgemfileの変更について
  3. 実行bundle install

すべて正常に動作します。 :)

2