web-dev-qa-db-fra.com

Bundler n'a pas pu trouver de versions compatibles pour les «railties» de gemmes pour Rails 4.0.0

J'essaie de passer à Rails 4.0.0, et j'ai changé les versions gemmes de sass-Rails et coffee-Rails. J'ai besoin de résoudre ce conflit de gemmes entre Rails et coffee-Rails avant de pouvoir passer à Rails 4.

Quand j'ai couru bundle update voici la sortie que j'ai obtenue:

$ 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)

Mon 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

Également bundle update vous permet uniquement de mettre à jour une gemme à la fois, ce qui est difficile si vous effectuez une mise à jour vers Rails 4 et beaucoup de gemmes doivent être mises à jour en même temps.

J'ai résolu ce problème en supprimant le Gemfile.lock et faire bundle install.

Ceci suppose bien entendu que vous n'ayez pas de version explicite de gemme en conflit dans votre Gemfile pour commencer. Donc, si cela échoue, supprimez les numéros de version du Gemfile.

69
nathanvda

Il suffit de supprimer les versions gem (coffee-Rails et sass-Rails) de Gemfile et d'exécuter mise à jour du bundle

23
Ivan Schneider

Vous avez une version obsolète de Devise, utilisez Rails 4 compatible

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

Modifiez également coffee-Rails à

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

et essayez de faire

bundle update coffee-Rails
9
Mike Szyndel

Courir gem update Rails d'abord, puis bundle update

8
andreofthecape

Vous avez des gemmes qui ne sont pas prises en charge par Rails 4. Mettez en commentaire toutes les gemmes à l'exception de Rails 4 et décommentez-les une à la fois après avoir exécuté l'installation du bundle) pour trouver les coupables. Vous devrez peut-être annuler certains de vos verrous de version.

7
penner
  1. Supprimez le Gemfile.lock fichier
  2. référez-vous ici pour les changements de base de gemfile
  3. courir bundle install

Tout fonctionnera bien. :)

2
Rajesh Omanakuttan