ruby/rubygems · error · Bundler::InvalidArgumentError
40
40
Error message
#{v} is not a valid requirement on the Ruby version What it means
Error "#{v} is not a valid requirement on the Ruby version" thrown in ruby/rubygems.
Source
Thrown at lib/bundler/ruby_version.rb:29
def initialize(versions, patchlevel, engine, engine_version)
# The parameters to this method must satisfy the
# following constraints, which are verified in
# the DSL:
#
# * If an engine is specified, an engine version
# must also be specified
# * If an engine version is specified, an engine
# must also be specified
# * If the engine is "ruby", the engine version
# must not be specified, or the engine version
# specified must match the version.
@versions = Array(versions).map do |v|
normalized_v = normalize_version(v)
unless Gem::Requirement::PATTERN.match?(normalized_v)
raise InvalidArgumentError, "#{v} is not a valid requirement on the Ruby version"
end
op, v = Gem::Requirement.parse(normalized_v)
op == "=" ? v.to_s : "#{op} #{v}"
end
@gem_version = Gem::Requirement.create(@versions.first).requirements.first.last
@input_engine = engine&.to_s
@engine = engine&.to_s || "ruby"
@engine_versions = (engine_version && Array(engine_version)) || @versions
@engine_gem_version = Gem::Requirement.create(@engine_versions.first).requirements.first.last
@patchlevel = patchlevel || (@gem_version.prerelease? ? "-1" : nil)
end
def to_s(versions = self.versions)
output = String.new("ruby #{versions_string(versions)}")
output << " (#{engine} #{versions_string(engine_versions)})" unless engine == "ruby"
View on GitHub (pinned to 86cbb817a3)
When it happens
Trigger: Thrown at lib/bundler/ruby_version.rb:29 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/85c83e85559c71b7.
Report an issue: GitHub.