ruby/rubygems · error · Gem::RubyVersionMismatch

Your Ruby version is #

Error message

Your Ruby version is #{RUBY_VERSION}, but your #{gem_deps_file} requires #{version}

What it means

Error "Your Ruby version is #{RUBY_VERSION}, but your #{gem_deps_file} requires #{version}" thrown in ruby/rubygems.

Solutions

  1. Switch to the Ruby version required by the dependencies file
  2. Or update the file's ruby requirement to match your Ruby version

When it happens

Trigger: Thrown at lib/rubygems/request_set/gem_dependency_api.rb:797 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/aaae36acee7b8b97. Report an issue: GitHub.

Appendix: source

Thrown at lib/rubygems/request_set/gem_dependency_api.rb:797

  # this gem dependencies file to a particular ruby engine and its engine
  # version.  This matching is performed by using the RUBY_ENGINE and
  # RUBY_ENGINE_VERSION constants.

  def ruby(version, options = {})
    engine         = options[:engine]
    engine_version = options[:engine_version]

    raise ArgumentError,
          "You must specify engine_version along with the Ruby engine" if
            engine && !engine_version

    return true if @installing

    unless version == RUBY_VERSION
      message = "Your Ruby version is #{RUBY_VERSION}, " \
                "but your #{gem_deps_file} requires #{version}"

      raise Gem::RubyVersionMismatch, message
    end

    if engine && engine != Gem.ruby_engine
      message = "Your Ruby engine is #{Gem.ruby_engine}, " \
                "but your #{gem_deps_file} requires #{engine}"

      raise Gem::RubyVersionMismatch, message
    end

    if engine_version
      if engine_version != RUBY_ENGINE_VERSION
        message =
          "Your Ruby engine version is #{Gem.ruby_engine} #{RUBY_ENGINE_VERSION}, " \
          "but your #{gem_deps_file} requires #{engine} #{engine_version}"

        raise Gem::RubyVersionMismatch, message
      end
    end

View on GitHub (pinned to 86cbb817a3)