Heim >Web-Frontend >js-Tutorial >Was bewirkt „npm install --legacy-peer-deps' und wann wird es empfohlen?
TL;DR:
Eine Denkweise über dieses Flag ist, dass es nichts Neues bewirkt ; Vielmehr weist es NPM an, nichts Neues zu tun, da NPM v7 jetzt standardmäßig Peer-Abhängigkeiten installiert.
In vielen Fällen führt dies zu Versionskonflikten, die den Installationsprozess unterbrechen.
Das Flag --legacy-peer-deps wurde mit Version 7 eingeführt, um die automatische Installation von Peer-Abhängigkeiten zu umgehen. Es weist NPM an, Peer-Deps zu ignorieren und trotzdem mit der Installation fortzufahren. So war es früher mit NPM v4 bis v6.
Wenn Sie sich über den Unterschied zwischen regulären Deps und Peer-Deps nicht im Klaren sind, finden Sie hier einen kleinen Kontext:
Aufgrund der großen Anzahl von Modulen, die Da ich React v17 (oder in jüngerer Zeit React 18) nicht ausdrücklich als Peer-Abhängigkeit hinzugefügt habe, kommt es mittlerweile häufig vor, dass beim Ausführen von npm-Installationen in einer React-Anwendung der Version 17 der Fehler „Abhängigkeitsbaum konnte nicht aufgelöst werden“ auftritt.
Dieser Fehler wird immer dann ausgelöst, wenn ein Modul (oder eine seiner eigenen Abhängigkeiten) eine frühere Hauptversion von React als Peer-Abhängigkeit auflistet, ohne React v17 ausdrücklich als einzuschließen Na ja.
NPM selbst listet keine Peer-Abhängigkeiten auf den Seiten eines bestimmten Moduls auf. Es gibt jedoch einen einfachen Workaround, um vor oder nach der Installation nach Peer-Deps zu suchen. Führen Sie einfach Folgendes aus:
npm info name-of-module peerDependencies
Dieser Befehl gibt den Namen jeder Peer-Abhängigkeit zusammen mit allen kompatiblen Versionen zurück.
Das obige ist der detaillierte Inhalt vonWas bewirkt „npm install --legacy-peer-deps' und wann wird es empfohlen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!