class Gem::Resolver::Conflict
Wird intern verwendet, um anzuzeigen, dass eine Abhängigkeit mit einer zu aktivierenden Spezifikation kollidierte.
Attribute
Die Spezifikation, die vor dem Konflikt aktiviert wurde
Die Abhängigkeit, die mit dem aktivierten Gem in Konflikt steht.
Öffentliche Klassenmethoden
Source
# File lib/rubygems/resolver/conflict.rb, line 24 def initialize(dependency, activated, failed_dep = dependency) @dependency = dependency @activated = activated @failed_dep = failed_dep end
Erstellt einen neuen Resolver-Konflikt, wenn dependency mit einer bereits activated Spezifikation in Konflikt steht.
Öffentliche Instanzmethoden
Source
# File lib/rubygems/resolver/conflict.rb, line 47 def conflicting_dependencies [@failed_dep.dependency, @activated.request.dependency] end
Gibt die 2 kollidierenden Abhängigkeitsobjekte zurück
Source
# File lib/rubygems/resolver/conflict.rb, line 40 def explain "<Conflict wanted: #{@failed_dep}, had: #{activated.spec.full_name}>" end
Eine textliche Erklärung des Konflikts.
Source
# File lib/rubygems/resolver/conflict.rb, line 54 def explanation activated = @activated.spec.full_name dependency = @failed_dep.dependency requirement = dependency.requirement alternates = dependency.matching_specs.map(&:full_name) unless alternates.empty? matching = <<-MATCHING.chomp Gems matching %s: %s MATCHING matching = format(matching, dependency, alternates.join(", ")) end explanation = <<-EXPLANATION Activated %s which does not match conflicting dependency (%s) Conflicting dependency chains: %s versus: %s %s EXPLANATION format(explanation, activated, requirement, request_path(@activated).reverse.join(", depends on\n "), request_path(@failed_dep).reverse.join(", depends on\n "), matching) end
Erklärung des Konflikts, die von Ausnahmen verwendet wird, um nützliche Meldungen auszugeben
Source
# File lib/rubygems/resolver/conflict.rb, line 88 def for_spec?(spec) @dependency.name == spec.name end
Gibt true zurück, wenn der Name der kollidierenden Abhängigkeit mit spec übereinstimmt.
Source
# File lib/rubygems/resolver/conflict.rb, line 116 def request_path(current) path = [] while current do case current when Gem::Resolver::ActivationRequest then path << "#{current.request.dependency}, #{current.spec.version} activated" current = current.parent when Gem::Resolver::DependencyRequest then path << current.dependency.to_s current = current.requester else raise Gem::Exception, "[BUG] unknown request class #{current.class}" end end path = ["user request (gem command or Gemfile)"] if path.empty? path end
Pfad der Aktivierungen aus der current Liste.
Source
# File lib/rubygems/resolver/conflict.rb, line 143 def requester @failed_dep.requester end
Gibt die Spezifikation zurück, die die Abhängigkeit aufgelistet hat