Bundler could not find compatible versions for gem, updating Rails app

29,825

Solution 1

I solved it by deleting the lock rm Gemfile.lock and again running bundle install:

$ rm Gemfile.lock
$ bundle install
Using rake (0.9.2.2) 
Using i18n (0.6.0) 
Using multi_json (1.0.4) 
Using activesupport (3.2.0.rc2) 
Using builder (3.0.0) 
Using activemodel (3.2.0.rc2) 
Using erubis (2.7.0) 
Using journey (1.0.0) 
Using rack (1.4.0) 
Using rack-cache (1.1) 
Using rack-test (0.6.1) 
Using hike (1.2.1) 
Using tilt (1.3.3) 
Using sprockets (2.1.2) 
Using actionpack (3.2.0.rc2) 
Using mime-types (1.17.2) 
Using polyglot (0.3.3) 
Using treetop (1.4.10) 
Using mail (2.3.0) 
Using actionmailer (3.2.0.rc2) 
Using arel (3.0.0) 
Using tzinfo (0.3.31) 
Using activerecord (3.2.0.rc2) 
Using activeresource (3.2.0.rc2) 
Using bundler (1.0.21) 
Using coffee-script-source (1.2.0) 
Using execjs (1.2.13) 
Using coffee-script (2.2.0) 
Using rack-ssl (1.3.2) 
Using json (1.6.4) 
Using rdoc (3.12) 
Using thor (0.14.6) 
Using railties (3.2.0.rc2) 
Using coffee-rails (3.2.1) 
Using jquery-rails (2.0.0) 
Using rails (3.2.0.rc2) 
Using sass (3.1.12) 
Using sass-rails (3.2.3) 
Using sqlite3 (1.3.5) 
Using uglifier (1.2.2) 
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.

This is a pretty brute force way of fixing the issue. If this is an established project, you may run into other issues after deleting the Gemfile.lock as the dependency versions are no longer locked. However, if this is a new project it's unlikely you will run into problems taking this approach.

Solution 2

As well as sass-rails, you need to bump the version of coffee-rails you depend on too (3.2.1 ought to do it)

Solution 3

If your bundler version is not the same as the BUNDLED WITH in the last line of your Gemfile.lock, it may occur 'could not find compatible versions for gem GEMNAME' only after adding new gem to your Gemfile.

Share:
29,825
rudolph9
Author by

rudolph9

Updated on June 29, 2020

Comments

  • rudolph9
    rudolph9 almost 4 years

    After createing a brand new rails app Following the official rails blog post, attempting to convert apps to rails 3.2.0.rc2 yields the following

    Updated Gemfile to depend on rails ~> 3.2.0.rc2
        gem 'rails', '~>3.2.0.rc2'
    Updated Gemfile to depend on sass-rails ~> 3.2.3
        gem 'sass-rails',   '~> 3.2.3'
    
    $ bundle install
    Fetching source index for http://rubygems.org/
    Bundler could not find compatible versions for gem "activesupport":
      In snapshot (Gemfile.lock):
        activesupport (3.1.1)
    
      In Gemfile:
        rails (~> 3.2.0.rc2) ruby depends on
          activesupport (= 3.2.0.rc2) ruby
    
    Running `bundle update` will rebuild your snapshot from scratch, using 
    only the gems in your Gemfile, which may resolve the conflict.
    
    $bundle update
    Fetching source index for http://rubygems.org/
    Bundler could not find compatible versions for gem "railties":
      In Gemfile:
        coffee-rails (~> 3.1.1) ruby depends on
          railties (~> 3.1.0) ruby
    
        rails (~> 3.2.0.rc2) ruby depends on
          railties (3.2.0.rc2)
    

    What exactly is the issue?

    System Specs:

    Mac OS 10.7.2, Xcode 4.2.1, rvm 1.10.1 using ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin11.2.0]

  • rudolph9
    rudolph9 over 12 years
    I not sure if this actually did anything but I did apply it before deleting the Gemfile.lock and running bundle install again.
  • Frederick Cheung
    Frederick Cheung over 12 years
    You've got a newer version of coffee rails which is what you needed