diff options
author | Andre Arko <andre@arko.net> | 2010-06-22 11:16:49 -0700 |
---|---|---|
committer | Andre Arko <andre@arko.net> | 2010-06-22 11:16:49 -0700 |
commit | edd50575739bd398cd13b8ea5b5f3c014a3ede47 (patch) | |
tree | 3cfd9c31173e19dd850a4b9a1d6e54af5ffa5f35 | |
parent | c9e25126dd8b8c9b08203d21625ffc3cf248674c (diff) | |
download | bundler-edd50575739bd398cd13b8ea5b5f3c014a3ede47.tar.gz |
Give a useful error if your bundler is older than a gem requires
-rw-r--r-- | lib/bundler/resolver.rb | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/bundler/resolver.rb b/lib/bundler/resolver.rb index fddae44470..7487c9878c 100644 --- a/lib/bundler/resolver.rb +++ b/lib/bundler/resolver.rb @@ -39,7 +39,11 @@ module Bundler result = catch(:success) do resolver.resolve(requirements, {}) output = resolver.errors.inject("") do |o, (conflict, (origin, requirement))| - if origin + if conflict == "bundler" + o << (requirement.required_by.first ? "Gem #{requirement.required_by.first}" : "The Gemfile") + o << " requires #{requirement}.\n\n" + o << "Upgrade to #{requirement} to continue installing this Gemfile." + elsif origin o << " Conflict on: #{conflict.inspect}:\n" o << " * #{conflict} (#{origin.version}) activated by #{origin.required_by.first}\n" o << " * #{requirement} required" @@ -52,7 +56,6 @@ module Bundler o << " #{requirement} not found in any of the sources\n" o << " required by #{requirement.required_by.first}\n" end - o << " All possible versions of origin requirements conflict." end raise VersionConflict, "No compatible versions could be found for required dependencies:\n #{output}" nil |