ruby/rubygems · error · ArgumentError

Need a Gem::Version: #{version.inspect}

Error message

Need a Gem::Version: #{version.inspect}

What it means

Error "Need a Gem::Version: #{version.inspect}" thrown in ruby/rubygems.

Source

Thrown at lib/rubygems/requirement.rb:249

  ##
  # A requirement is a prerelease if any of the versions inside of it
  # are prereleases

  def prerelease?
    requirements.any? {|r| r.last.prerelease? }
  end

  def pretty_print(q) # :nodoc:
    q.group 1, "Gem::Requirement.new(", ")" do
      q.pp as_list
    end
  end

  ##
  # True if +version+ satisfies this Requirement.

  def satisfied_by?(version)
    raise ArgumentError, "Need a Gem::Version: #{version.inspect}" unless
      Gem::Version === version
    requirements.all? {|op, rv| OPS.fetch(op).call version, rv }
  end

  alias_method :===, :satisfied_by?
  alias_method :=~, :satisfied_by?

  ##
  # True if the requirement will not always match the latest version.

  def specific?
    return true if @requirements.length > 1 # GIGO, > 1, > 2 is silly

    !%w[> >=].include? @requirements.first.first # grab the operator
  end

  def to_s # :nodoc:
    as_list.join ", "

View on GitHub (pinned to 86cbb817a3)

Solutions

  1. Pass a Gem::Version (or a parseable version string) instead of the reported value

When it happens

Trigger: Thrown at lib/rubygems/requirement.rb:249 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/51b9dfdb076f54e0. Report an issue: GitHub.