Skip to content
This repository

Error in bundler error message #636

Closed
workmad3 opened this Issue August 31, 2010 · 3 comments

3 participants

David Workman Yehuda Katz André Arko
David Workman

Scenario:
A rails 3 beta4 app, using capybara 0.3.9, had its dependencies satisfied with rack 1.1.0
When upgraded to rails 3 release, an attempt to reinstall the bundle gave the error:

Bundler could not find compatible versions for gem "rack":
In Gemfile:
  rails (= 3.0.0) depends on
    rack (~> 1.2.1)

  capybara (= 0.3.9) depends on
    rack (1.1.0)

Checking the gemspec for capybara said that it depended on rack >= 1.0.0

It turns out that in this situation, the error message is incorrect. When rack was added explicitly to the Gemfile with version 1.2.1 the correct error was given as:

You have requested:
  rack = 1.2.1

The bundle currently has rack locked at 1.1.0.
Try running `bundle update rack`

I found this in bundler 1.0 release.

Yehuda Katz

Ah. We're pulling capybara's dependency from the Gemfile.lock. Would something like:

capybara (= 0.3.9) has a locked dependency on
  rack (1.1.0)

work for you? If not, do you have a different suggestion?

David Workman

It looks fine to me. The only issue I had was that the error message pointed to an unresolvable dependency caused by the two gems, so I spent quite a bit of time puzzling and scratching my head until I added rack explicitly and got the other message.

André Arko
Owner

I have reproduced your situation (as far as I understand it), but the error message appears to be correct: https://gist.github.com/57d91925c20e30b85ccb

Note that the final error says:

Bundler could not find compatible versions for gem "rack":
  In snapshot (Gemfile.lock):
    rack (1.1.0)

  In Gemfile:
    rails (= 3.0.0) depends on
      rack (~> 1.2.1)

How did you get the error that you mention above?

This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.