ruby/rubygems · error · ArgumentError
dependency name must be a String, was #{name.inspect}
Error message
dependency name must be a String, was #{name.inspect} What it means
Error "dependency name must be a String, was #{name.inspect}" thrown in ruby/rubygems.
Source
Thrown at lib/rubygems/dependency.rb:44
##
# Allows you to force this dependency to be a prerelease.
attr_writer :prerelease
##
# Constructs a dependency with +name+ and +requirements+. The last
# argument can optionally be the dependency type, which defaults to
# <tt>:runtime</tt>.
def initialize(name, *requirements)
case name
when String then # ok
when Regexp then
msg = ["NOTE: Dependency.new w/ a regexp is deprecated.",
"Dependency.new called from #{Gem.location_of_caller.join(":")}"]
warn msg.join("\n") unless Gem::Deprecate.skip
else
raise ArgumentError,
"dependency name must be a String, was #{name.inspect}"
end
type = Symbol === requirements.last ? requirements.pop : :runtime
requirements = requirements.first if requirements.length == 1 # unpack
unless TYPES.include? type
raise ArgumentError, "Valid types are #{TYPES.inspect}, " \
"not #{type.inspect}"
end
@name = name
@requirement = Gem::Requirement.create requirements
@type = type
@prerelease = false
# This is for Marshal backwards compatibility. See the comments in
# +requirement+ for the dirty details.View on GitHub (pinned to 86cbb817a3)
When it happens
Trigger: Thrown at lib/rubygems/dependency.rb:44 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/a25cd9b67800111f.
Report an issue: GitHub.