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.