2017-02-25 2 views
0

Je tente de mettre à jour mon application à Rails 5.0.1. Après avoir essayé d'exécuter bundle update, l'erreur ci-dessous apparaît, mais il n'y a pas de gem rack.Impossible de trouver des versions compatibles pour la gem "rack"

Comment puis-je résoudre ce problème?

Erreur:

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

Essayez de supprimer gemfile.lock puis - lancer 'bundle install' –

+0

ou modifier ''' Pignons de pierres précieuses, '2.11.3'' à 'Gem '' Pignons,' ~> 2.11.3'' , comme je comprends à la fois des rails et des pignons à l'aide de rack et il y a conflit cause pignons v2.11.3 utilise une version plus ancienne de celui-ci. –

Répondre

3

Il est dans le message d'erreur:

Vous ave des pierres précieuses spécifiées dans votre Gemfile qui ont des dépendances contradictoires sur la rack gem. Rails 5 (via actionpack) requis en rack 2 qui votre version épinglé sprockets nécessite rack 1.

Ainsi, vous avez deux options:

  1. Vous pouvez déclasser votre exigence de rails pour rails 4, qui dépend alors rack 1. Pour cela, remplacez la ligne dans votre Gemfile où vous spécifiez rails avec ceci:

    gem 'rails', '< 5' 
    
  2. Sinon (et ceci est probablement votre option souhaitée), vous pouvez mettre à jour le v ersion des pignons que vous utilisez. Pour cela, vous pouvez simplement supprimer la version épinglée explicite à sprockets dans votre Gemfile. Comme Rails dépend déjà d'une version appropriée des pignons, vous n'avez pas besoin de le spécifier en tant que version. Généralement, pour utiliser des pignons avec Rails 5, il faut au moins des pignons 3.3.5.