ruby/rubygems · error · BadRequirementError
Illformed requirement [#{obj.inspect}]
Error message
Illformed requirement [#{obj.inspect}] What it means
Error "Illformed requirement [#{obj.inspect}]" thrown in ruby/rubygems.
Source
Thrown at lib/rubygems/requirement.rb:107
end
##
# Parse +obj+, returning an <tt>[op, version]</tt> pair. +obj+ can
# be a String or a Gem::Version.
#
# If +obj+ is a String, it can be either a full requirement
# specification, like <tt>">= 1.2"</tt>, or a simple version number,
# like <tt>"1.2"</tt>.
#
# parse("> 1.0") # => [">", Gem::Version.new("1.0")]
# parse("1.0") # => ["=", Gem::Version.new("1.0")]
# parse(Gem::Version.new("1.0")) # => ["=, Gem::Version.new("1.0")]
def self.parse(obj)
return ["=", obj] if Gem::Version === obj
unless PATTERN =~ obj.to_s
raise BadRequirementError, "Illformed requirement [#{obj.inspect}]"
end
op = -($1 || "=")
version = -$2
if op == ">=" && version == "0"
DefaultRequirement
elsif op == ">=" && version == "0.a"
DefaultPrereleaseRequirement
else
[op, Gem::Version.new(version)]
end
end
##
# An array of requirement pairs. The first element of the pair is
# the op, and the second is the Gem::Version.
attr_reader :requirements # :nodoc:View on GitHub (pinned to 86cbb817a3)
Solutions
- Fix the version requirement string (e.g. '>= 1.0', '~> 2.1'); the reported value is malformed
When it happens
Trigger: Thrown at lib/rubygems/requirement.rb:107 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/0dc1d23aac07553d.
Report an issue: GitHub.