End of Life Ruby 3.0 has reached end of life and gets no more fixes. Switch to Ruby 4.0 →
instance method
Gem::Resolver::Conflict#explanation
explanation
lib/rubygems/resolver/conflict.rb
View on GitHub ↗
# File tmp/rubies/ruby-3.0.5/lib/rubygems/resolver/conflict.rb, line 53
def explanation
activated = @activated.spec.full_name
dependency = @failed_dep.dependency
requirement = dependency.requirement
alternates = dependency.matching_specs.map {|spec| spec.full_name }
unless alternates.empty?
matching = <<-MATCHING.chomp
Gems matching %s:
%s
MATCHING
matching = matching % [
dependency,
alternates.join(', '),
]
end
explanation = <<-EXPLANATION
Activated %s
which does not match conflicting dependency (%s)
Conflicting dependency chains:
%s
versus:
%s
%s
EXPLANATION
explanation % [
activated, requirement,
request_path(@activated).reverse.join(", depends on\n "),
request_path(@failed_dep).reverse.join(", depends on\n "),
matching
]
end
Explanation of the conflict used by exceptions to print useful messages
See also
#explain
#for_spec?
#conflicting_dependencies
#requester
also in
4.0 · 3.4 · 3.3 · 3.2 · 3.1