ruby/rubygems · error · HTTPError
17
17
Error message
Gemspec #{spec} contained invalid data.
Your network or your gem server is probably having issues right now. What it means
Error "Gemspec #{spec} contained invalid data. Your network or your gem server is probably having issues right now." thrown in ruby/rubygems.
Source
Thrown at lib/bundler/fetcher.rb:165
# fetch a gem specification
def fetch_spec(spec)
spec -= [nil, "ruby", ""]
spec_file_name = "#{spec.join "-"}.gemspec"
uri = Gem::URI.parse("#{remote_uri}#{Gem::MARSHAL_SPEC_DIR}#{spec_file_name}.rz")
spec = if uri.scheme == "file"
path = Gem::Util.correct_for_windows_path(uri.path)
Bundler.safe_load_marshal Bundler.rubygems.inflate(Gem.read_binary(path))
elsif cached_spec_path = gemspec_cached_path(spec_file_name)
Bundler.load_gemspec(cached_spec_path)
else
Bundler.safe_load_marshal Bundler.rubygems.inflate(downloader.fetch(uri).body)
end
raise MarshalError, "is #{spec.inspect}" unless spec.is_a?(Gem::Specification)
spec
rescue MarshalError
raise HTTPError, "Gemspec #{spec} contained invalid data.\n" \
"Your network or your gem server is probably having issues right now."
end
# return the specs in the bundler format as an index with retries
def specs_with_retry(gem_names, source)
Bundler::Retry.new("fetcher", FAIL_ERRORS).attempts do
specs(gem_names, source)
end
end
# return the specs in the bundler format as an index
def specs(gem_names, source)
index = Bundler::Index.new
fetch_specs(gem_names).each do |name, version, platform, dependencies, metadata|
spec = if dependencies
EndpointSpecification.new(name, version, platform, self, dependencies, metadata).tap do |es|
source.checksum_store.replace(es, es.checksum)View on GitHub (pinned to 86cbb817a3)
When it happens
Trigger: Thrown at lib/bundler/fetcher.rb:165 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/221b8f2c2faca8f0.
Report an issue: GitHub.