Ich habe eine Neuinstallation von yarn
(via npm install yarn -g
) und habe versucht, ein paar Pakete mit zu installieren
yarn add vue-loader babel-loader style-loader css-loader file-loader webpack
Ich habe während der Installation einige Warnungen erhalten, wie z
warning "[email protected]" has unmet peer dependency "vue-template-compiler@^2.0.0".
Was bedeutet das genau und konkret: Warum werden yarn
diese Abhängigkeiten nicht selbst installiert? (wenn sie gebraucht werden)
Eine Schwesterfrage (über npm
) zum gleichen Thema liefert einige Antworten, die darauf hindeuten, i) zu aktualisieren, npm
ii) zu entfernen, node_modules
da ein Fehler beim npm
Umgang mit Abhängigkeiten vorliegt.
Wie ist der Status für solche Warnungen yarn
?Ist das wirklich eine Warnung (= etwas, das ich verwerfen kann)?Ich kann sie nicht verwerfen (der webpack
Build schlägt fehl) und muss sie manuell installieren. Gleichzeitig wurden einige Abhängigkeiten installiert, sodass ich nicht verstehe, warum einige übersehen wurden (während sie manuell installiert werden können).
Antworten:
Was ist eine Peer-Abhängigkeit?
Hier einige nützliche Lektüre auf Beziehungsarten, und hier ist Informationen über Peer - Abhängigkeiten, aber zusammenfassen:
Abhängigkeit : Eine Bibliothek / ein Paket, das / das Sie ausführen möchten.
Peer-Abhängigkeit : Wird verwendet, um eine Bibliothek / ein Paket anzugeben, in die bzw. das Ihr Projekt eingebunden wird.
Das Paket
vue-loader
hat eine Peer-Abhängigkeit vonvue-template-compiler
-vue-loader
fungiert als Plugin fürvue-template-compiler
Warum werden sie nicht standardmäßig installiert?
Peer-Abhängigkeiten wurden automatisch bis npm @ 3 installiert (dem Garn folgte). Dies wurde aufgrund häufig verwirrenden Verhaltens gestoppt. Die Installation eines anderen Plugins mit einer widersprüchlichen Anforderung würde beispielsweise zu einem Fehler führen.
Aktualisieren
Wie hier installiert, installiert npm @ 7 jetzt Peer-Abhängigkeiten.
Die Motivation für diese Entscheidung finden Sie hier
quelle