Zum Beispiel, wenn ich Angular2 installiere:
npm install --save angular2
temp@1.0.0 /Users/doug/Projects/dougludlow/temp
├── angular2@2.0.0-beta.3
├── UNMET PEER DEPENDENCY es6-promise@^3.0.2
├── UNMET PEER DEPENDENCY es6-shim@^0.33.3
├── UNMET PEER DEPENDENCY reflect-metadata@0.1.2
├── UNMET PEER DEPENDENCY rxjs@5.0.0-beta.0
└── UNMET PEER DEPENDENCY zone.js@0.5.11
npm WARN angular2@2.0.0-beta.3 requires a peer of es6-promise@^3.0.2 but none was installed.
npm WARN angular2@2.0.0-beta.3 requires a peer of es6-shim@^0.33.3 but none was installed.
npm WARN angular2@2.0.0-beta.3 requires a peer of reflect-metadata@0.1.2 but none was installed.
npm WARN angular2@2.0.0-beta.3 requires a peer of rxjs@5.0.0-beta.0 but none was installed.
npm WARN angular2@2.0.0-beta.3 requires a peer of zone.js@0.5.11 but none was installed.
Gibt es ein magisches Flag, das ich an npm übergeben kann, um auch die Peer-Abhängigkeiten zu installieren? Ich konnte keine finden ... Es ist mühsam, die Peer-Abhängigkeiten manuell zu kopieren und einzufügen und sicherzustellen, dass ich die richtigen Versionen habe.
Mit anderen Worten, ich müsste lieber nicht tun:
npm install --save angular2@2.0.0-beta.3 es6-promise@^3.0.2 es6-shim@^0.33.3 reflect-metadata@0.1.2 rxjs@5.0.0-beta.0 zone.js@0.5.11
Was ist der bessere Weg?
[email protected]
erfordertes6-promise@^3.0.2
). Ich möchte jedoch wissen, ob es einen Befehl / ein Flag gibt, mit dem die Peer-Abhängigkeiten automatisch installiert werden.npm -v
=>3.5.3
Antworten:
Die automatische Installation von Peer-Abhängigkeiten wurde mit npm 3 explizit entfernt, da sie mehr Probleme verursacht als versucht zu lösen. Sie können hier zum Beispiel darüber lesen:
Nein, aus den angegebenen Gründen können Sie sie ab npm 3 nicht automatisch installieren.
quelle
extraneous
PaketeIch habe es gelöst, indem ich package.json mit den genauen Werten umgeschrieben habe.
package.json: "es6-shim": "^ 0.33.3",
package.json: "Reflect-Metadata": "0.1.2",
quelle
npm cache clean
,npm install
vielleicht besser als das Löschen von node_modules? Ich verzichte immer darauf, node_modules zu löschen. Ich möchte herausfinden, wo das Problem liegt, anstatt das Verzeichnis wegzublasen.npm install --cache /tmp/empty-cache
einen temporären Cache verwenden, anstatt den eigentlichen zu löschen. npm ERR! npm ERR! Wenn Sie sicher sind, dass Sie den gesamten Cache löschen möchten, führen Sie diesen Befehl mit --force erneut aus.Cheat-Code hilfreich in diesem Szenario und einigen anderen ...
├── UNMET PEER DEPENDENCY @ angle / common @ 4.0.2
├── UNMET PEER DEPENDENCY @ angle / compiler @ 4.0.2
├── UNMET PEER DEPENDENCY @ angle / compiler-cli @ 4.0.2
├── UNMET PEER DEPENDENCY @ angle / core @ 4.0.2
├── UNMET PEER DEPENDENCY @ angle / forms @ 4.0.2
├── UNMET PEER DEPENDENCY @ angle / http @ 4.0.2
├── UNMET PEER DEPENDENCY @ angle / platform-browser @ 4.0.2
├── UNMET PEER DEPENDENCY @ angle / platform-browser-dynamic @ 4.0.2>
npm install @ angle / common @ 4.0.2 @ angle / compiler @ 4.0.2 @ angle / compiler-cli @ 4.0.2 @ angle / core @ 4.0.2 @ angle / forms @ 4.0.2 @ angle / http @ 4.0 .2 @ angle / platform-browser @ 4.0.2 @ angle / platform-browser-dynamic @ 4.0.2 --save
quelle
--save
ist ab npm 5.0.0 offensichtlich nicht mehr erforderlich: stackoverflow.com/a/19578808/12484Das Projekt
npm-install-peers
erkennt Peers und installiert sie.Ab
v1.0.1
diesem Zeitpunkt wird daspackage.json
automatische Zurückschreiben nicht unterstützt , was unser Bedürfnis hier im Wesentlichen lösen würde.Bitte fügen Sie Ihre Unterstützung für die Ausgabe im Flug hinzu: https://github.com/spatie/npm-install-peers/issues/4
quelle
This package doesn't seem to have any peerDependencies
npm-install-peers
wird installiert inpeerDependencies
registriertpackage.json
. Es werden keinepeerDependencies
Abhängigkeiten wie installiertangular2
.npm-install-peers
nur für die Installation der"peerDependencies"
in package.json Ihres Projekts aufgeführten Datei vorgesehen. Sie versuchen, die"peerDependencies"
in jeder Ihrernode_modules/<package>/package.json
Dateien aufgelisteten Dateien zu installieren , nicht Ihre direkten Peer-Abhängigkeiten.Diese Fehler traten bei der Entwicklung eines npm-Pakets auf
peerDependencies
. Ich musste sicherstellen, dass allepeerDependencies
auch als aufgeführt warendevDependencies
. Das Projekt würde die global installierten Pakete nicht automatisch verwenden.quelle
Garn einlegen und dann laufen lassen
Garn global add install-peerdeps
quelle
Führen Sie Folgendes aus:
npm install-test
quelle