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'
É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.
Il suffit de supprimer les versions gem (coffee-Rails et sass-Rails) de Gemfile et d'exécuter mise à jour du bundle
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
Courir gem update Rails
d'abord, puis bundle update
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.
Gemfile.lock
fichierbundle install
Tout fonctionnera bien. :)