ruby/rubygems · error · Gem::Package::TooLongFileName
File "#{prefix}/#{name}" has a too long name (should be 100
Error message
File "#{prefix}/#{name}" has a too long name (should be 100 or less) What it means
Error "File "#{prefix}/#{name}" has a too long name (should be 100 or less)" thrown in ruby/rubygems.
Source
Thrown at lib/rubygems/package/tar_writer.rb:322
# Splits +name+ into a name and prefix that can fit in the TarHeader
def split_name(name) # :nodoc:
if name.bytesize > 256
raise Gem::Package::TooLongFileName.new("File \"#{name}\" has a too long path (should be 256 or less)")
end
prefix = ""
if name.bytesize > 100
parts = name.split("/", -1) # parts are never empty here
name = parts.pop # initially empty for names with a trailing slash ("foo/.../bar/")
prefix = parts.join("/") # if empty, then it's impossible to split (parts is empty too)
while !parts.empty? && (prefix.bytesize > 155 || name.empty?)
name = parts.pop + "/" + name
prefix = parts.join("/")
end
if name.bytesize > 100 || prefix.empty?
raise Gem::Package::TooLongFileName.new("File \"#{prefix}/#{name}\" has a too long name (should be 100 or less)")
end
if prefix.bytesize > 155
raise Gem::Package::TooLongFileName.new("File \"#{prefix}/#{name}\" has a too long base path (should be 155 or less)")
end
end
[name, prefix]
end
end
View on GitHub (pinned to 86cbb817a3)
Solutions
- Shorten the file name to 100 characters or fewer (or use a path prefix) and rebuild the gem
When it happens
Trigger: Thrown at lib/rubygems/package/tar_writer.rb:322 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/2fa2587b7562d1a9.
Report an issue: GitHub.