2017-02-25 24 views
0

私のアプリをRails 5.0.1にアップデートしようとしています。 bundle updateを実行しようとすると、以下のエラーが表示されますが、ラックの宝石はありません。gem "rack"の互換バージョンが見つかりません

どうすれば解決できますか?

エラー:

Bundler could not find compatible versions for gem "rack": 
     In Gemfile: 
     rails (= 5.0.1) x86-mingw32 was resolved to 5.0.1, which depends on 
      actionpack (= 5.0.1) x86-mingw32 was resolved to 5.0.1, which depends on 
      rack (~> 2.0) 

     rails (= 5.0.1) x86-mingw32 was resolved to 5.0.1, which depends on 
      actionpack (= 5.0.1) x86-mingw32 was resolved to 5.0.1, which depends on 
      rack (~> 2.0) x86-mingw32 

     sprockets (= 2.11.3) was resolved to 2.11.3, which depends on 
      rack (~> 1.0) 

     sprockets (= 2.11.3) was resolved to 2.11.3, which depends on 
      rack (~> 1.0) x86-mingw32 

gemfile:

source 'http://rubygems.org' 
ruby '2.4.0' # '1.9.3' 
#ruby-gemset=railstutorial_rails_4_0 

gem 'rails', '5.0.1'#'4.2.6' 
#gem 'pg', '0.15.1' 
gem 'mysql2', '0.4.5'#'0.4.4' 
gem 'bootstrap-sass', '2.3.2.0'#'3.3.6' 
gem 'bcrypt', '3.1.11' 
gem 'faker', '1.1.2' 
gem 'will_paginate', '3.1.0' 
gem 'bootstrap-will_paginate', '0.0.10' 
gem 'geocoder', '1.3.7' 
gem 'nested_form', '0.3.2' 
gem 'utf8-cleaner', '0.2.4' 
gem 'sprockets', '2.11.3' #2.11.3 
gem 'json', '1.8.6'#'1.8.3' 
gem 'ffi' 
gem 'iconv', '1.0.4' 

gem 'chosen-rails', '1.5.2' 
gem 'compass-rails', github: 'Compass/compass-rails' 

# For image uploads 
gem 'carrierwave', '0.11.2' 

# For uploading CSV 
gem 'roo', '2.4.0' 

# DataTables 
gem 'jquery-datatables-rails', '3.4.0' # git: 'git://github.com/rweng/jquery-datatables-rails.git' 
gem 'jquery-ui-rails', '5.0.5' 

# Editing in line: 
gem 'best_in_place', '3.1.0' 

# Passing data from controller to coffeescript 
gem 'gon', '6.0.1' 
#gem 'jquery-turbolinks' '2.1.0' 

# For searching and webservice queries-NO LONGER USED 
#gem 'sunspot_rails', '2.1.0' 
#gem 'sunspot_solr', '2.1.0' 
gem 'progress_bar', '1.0.5' 

gem 'responders', '2.2.0' 

# Calendar Date and Validation 
gem 'bootstrap-datepicker-rails' 

# For Google Maps overlays 
gem 'gmaps4rails', '~> 2.1.2' 
gem 'underscore-rails', '~> 1.8.3' 

group :development, :test do 
    gem 'rspec-rails', '3.4.2' 
    gem 'guard-rspec', '4.7.2' 
    gem 'spork-rails', '4.0.0' 
    gem 'childprocess', '0.5.9' 
    gem 'guard-spork', '2.1.0' 
end 

group :test do 
    gem 'selenium-webdriver', '2.53.3' 
    gem 'capybara', '2.7.1' 
    gem 'factory_girl_rails', '4.7.0' 
end 

gem 'sass-rails', '4.0.1' 
gem 'uglifier', '3.0.0' 
gem 'coffee-rails', '4.1.1' 
gem 'jquery-rails', '4.1.1' 
gem 'turbolinks', '2.5.3' 
gem 'jbuilder', '2.5.0' 

group :doc do 
    gem 'sdoc', '0.4.1', require: false 
end 

gem 'rails_12factor', '0.0.3' 
+0

その後、gemfile.lockを削除しようと - 〜> ' 'スプロケット' '宝石に2.11.3'''、 –

+0

install''バンドルを実行したり、 '宝石 'スプロケット' を編集し2.11.3''私はレールとラックを使用しているスプロケットの両方を理解しているので、矛盾の原因はスプロケットですv2.11.3は古いバージョンを使用しています。 –

答えて

3

それはエラーメッセージにすべてです:

あなたは上の矛盾の依存関係を持っているあなたのGemfileで指定された宝石をaveのrack gem。 Railsの5(actionpack経由)はsprocketsの2どのあなたの固定バージョンをラックに必要な1

ラックを必要とするこのように、あなたは2つのオプションがあります。

  1. をあなたは、その後に依存する4をレールにあなたのレールの要件をダウングレードすることができその1.ラック、あなたはこれでrails指定ごGemfileで行を置き換えます(これはおそらく、あなたの希望のオプションです)また

    gem 'rails', '< 5' 
    
  2. を、あなたはVをアップグレードすることができあなたが使用しているスプロケットの収縮。そのためには、Gemfileの明示的に固定されたバージョンをsprocketsに削除するだけです。 Railsはすでにスプロケットの適切なバージョンに依存しているので、それをあなた自身のバージョンとして指定する必要はありません。一般に、Rails 5でスプロケットを使用するには、少なくともスプロケット3.3.5が必要です。

関連する問題