ruby/rubygems · error · ArgumentError

skip_validation = true and strict_validation = true are inco

Error message

skip_validation = true and strict_validation = true are incompatible

What it means

Error "skip_validation = true and strict_validation = true are incompatible" thrown in ruby/rubygems.

Source

Thrown at lib/rubygems/package.rb:298

  ##
  # Adds the package's Gem::Specification to the +tar+ file

  def add_metadata(tar) # :nodoc:
    digests = tar.add_file_signed "metadata.gz", 0o444, @signer do |io|
      gzip_to io do |gz_io|
        gz_io.write @spec.to_yaml
      end
    end

    @checksums["metadata.gz"] = digests
  end

  ##
  # Builds this package based on the specification set by #spec=

  def build(skip_validation = false, strict_validation = false)
    raise ArgumentError, "skip_validation = true and strict_validation = true are incompatible" if skip_validation && strict_validation

    Gem.load_yaml

    @spec.validate true, strict_validation unless skip_validation

    setup_signer(
      signer_options: {
        expiration_length_days: Gem.configuration.cert_expiration_length_days,
      }
    )

    @gem.with_write_io do |gem_io|
      Gem::Package::TarWriter.new gem_io do |gem|
        add_metadata gem
        add_contents gem
        add_checksums gem
      end
    end

View on GitHub (pinned to 86cbb817a3)

Solutions

  1. Set only one of skip_validation or strict_validation; they cannot both be true

When it happens

Trigger: Thrown at lib/rubygems/package.rb:298 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/043db881754519ba. Report an issue: GitHub.