问题
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'
回答1:
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.
回答2:
Just remove gem versions (coffee-rails and sass-rails) from Gemfile and run bundle update
回答3:
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
回答4:
Run gem update rails
first, then bundle update
回答5:
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.
回答6:
- 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