ruby/rubygems · error · Gem::Package::FormatError
#{e.message} in #{path}
Error message
#{e.message} in #{path} What it means
Error "#{e.message} in #{path}" thrown in ruby/rubygems.
Source
Thrown at lib/rubygems/package.rb:354
@contents = []
@gem.with_read_io do |io|
gem_tar = Gem::Package::TarReader.new io
gem_tar.each do |entry|
next unless entry.full_name == "data.tar.gz"
open_tar_gz entry do |pkg_tar|
pkg_tar.each do |contents_entry|
@contents << contents_entry.full_name
end
end
return @contents
end
end
rescue Zlib::GzipFile::Error, EOFError, Gem::Package::TarInvalidError => e
raise Gem::Package::FormatError.new e.message, @gem
end
##
# Creates a digest of the TarEntry +entry+ from the digest algorithm set by
# the security policy.
def digest(entry) # :nodoc:
algorithms = if @checksums
@checksums.to_h {|algorithm, _| [algorithm, Gem::Security.create_digest(algorithm)] }
elsif Gem::Security::DIGEST_NAME
{ Gem::Security::DIGEST_NAME => Gem::Security.create_digest(Gem::Security::DIGEST_NAME) }
end
return @digests if algorithms.nil? || algorithms.empty?
buf = String.new(capacity: 16_384, encoding: Encoding::BINARY)
until entry.eof?
entry.readpartial(16_384, buf)View on GitHub (pinned to 86cbb817a3)
Solutions
- Fix the underlying error reported for the given path (usually a corrupt or unreadable file inside the package)
When it happens
Trigger: Thrown at lib/rubygems/package.rb:354 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/2869eb8d2e7170a6.
Report an issue: GitHub.