I am trying to upgrade to Rails 4.0.0, and I changed the gem versions of sass-rails
and coffee-rails
. I need to resolve this gem conflict between rails
and coffee-rails
before I can upgrade to Rails 4.
When I ran bundle update
this is the output I got:
$ 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)
My 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'
Also bundle update
only allows you to update one gem at a time, which is hard if you are updating to Rails 4
and a whole lot of gems have to be updated at the same time.
I solved this by deleting the Gemfile.lock
and doing bundle install
.
This is of course assuming you have no conflicting explicit gem version in your Gemfile
to start with. So if this fails, remove version numbers from the Gemfile.
Just remove gem versions (coffee-rails and sass-rails) from Gemfile and run bundle update
You have an outdated version of Devise, use Rails 4 compatible
gem 'devise', '~> 3.0.0.rc'
Also change coffee-rails
to
gem 'coffee-rails', '~> 4.0.0'
and try doing
bundle update coffee-rails
Run gem update rails
first, then bundle update
You have gems that aren't supported by Rails 4. Comment out all the gems except for Rails 4 and uncomment them one at a time after running bundle install to find the culprits. You might need to undo some of your version locks.
- Delete the
Gemfile.lock
file - refer here for basic gemfile changes
- run
bundle install
Everything will work fine. :)
来源:https://stackoverflow.com/questions/17327953/bundler-could-not-find-compatible-versions-for-gem-railties-for-rails-4-0-0