ruby/rubygems · error · GemfileError
4
4
Error message
The #{name} dependency has conflicting requirements in Gemfile (#{gemfile_dep.requirement}) and gemspec (#{gemspec_dep.requirement}) What it means
Error "The #{name} dependency has conflicting requirements in Gemfile (#{gemfile_dep.requirement}) and gemspec (#{gemspec_dep.requirement})" thrown in ruby/rubygems.
Source
Thrown at lib/bundler/dsl.rb:345
# if there's already a dependency with this name we try to prefer one
if current = @dependencies.find {|d| d.name == name }
if current.requirement != dep.requirement
current_requirement_open = current.requirements_list.include?(">= 0")
gemspec_dep = [dep, current].find(&:gemspec_dev_dep?)
if gemspec_dep
require_relative "vendored_pub_grub"
current_gemspec_range = Gem::PubGrub::RubyGems.requirement_to_range(current.requirement)
next_gemspec_range = Gem::PubGrub::RubyGems.requirement_to_range(dep.requirement)
if current_gemspec_range.intersects?(next_gemspec_range)
dep = Dependency.new(name, current.requirement.as_list + dep.requirement.as_list, options)
else
gemfile_dep = [dep, current].find(&:gemfile_dep?)
if gemfile_dep
raise GemfileError, "The #{name} dependency has conflicting requirements in Gemfile (#{gemfile_dep.requirement}) and gemspec (#{gemspec_dep.requirement})"
else
raise GemfileError, "Two gemspec development dependencies have conflicting requirements on the same gem: #{dep} and #{current}"
end
end
else
update_prompt = ""
if File.basename(@gemfile) == Injector::INJECTED_GEMS
if dep.requirements_list.include?(">= 0") && !current_requirement_open
update_prompt = ". Gem already added"
else
update_prompt = ". If you want to update the gem version, run `bundle update #{name}`"
update_prompt += ". You may also need to change the version requirement specified in the Gemfile if it's too restrictive." unless current_requirement_open
end
end
raise GemfileError, "You cannot specify the same gem twice with different version requirements.\n" \View on GitHub (pinned to 86cbb817a3)
When it happens
Trigger: Thrown at lib/bundler/dsl.rb:345 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of ruby/rubygems@86cbb817a3 (2026-08-23).
Data as JSON: /api/errors/023b77bb3d3dbdb4.
Report an issue: GitHub.