class Bundler::Resolver::Molinillo::VersionConflict
def message
def message conflicts.values.flatten.reduce('') do |o, conflict| o << %(Bundler could not find compatible versions for gem "#{conflict.requirement.name}":\n) if conflict.locked_requirement o << %( In snapshot (Gemfile.lock):\n) o << %( #{clean_req conflict.locked_requirement}\n) o << %(\n) end o << %( In Gemfile:\n) o << conflict.requirement_trees.map do |tree| t = '' depth = 2 tree.each do |req| t << ' ' * depth << %(#{clean_req req}) t << %( depends on) unless tree[-1] == req t << %(\n) depth += 1 end t end.join("\n") if conflict.requirement.name == 'bundler' o << %(\n Current Bundler version:\n bundler (#{Bundler::VERSION})) other_bundler_required = !conflict.requirement.requirement.satisfied_by?(Gem::Version.new Bundler::VERSION) end if conflict.requirement.name == "bundler" && other_bundler_required o << "\n" o << "This Gemfile requires a different version of Bundler.\n" o << "Perhaps you need to update Bundler by running `gem install bundler`?\n" end if conflict.locked_requirement o << "\n" o << %(Running `bundle update` will rebuild your snapshot from scratch, using only\n) o << %(the gems in your Gemfile, which may resolve the conflict.\n) elsif !conflict.existing if conflict.requirement_trees.first.size > 1 o << "Could not find gem '#{clean_req(conflict.requirement)}', which is required by " o << "gem '#{clean_req(conflict.requirement_trees.first[-2])}', in any of the sources." else o << "Could not find gem '#{clean_req(conflict.requirement)} in any of the sources\n" end end o end end