Ich bin unter Windows 10 mit Node 5.6.0 und npm 3.6.0. Ich versuche, Angular-Material und MDI in meinem Arbeitsordner zu installieren. npm install winkelmaterial mdi fehler mit:
+-- angular@1.5.0
+-- UNMET PEER DEPENDENCY angular-animate@^1.5.0
+-- UNMET PEER DEPENDENCY angular-aria@^1.5.0
+-- angular-material@1.0.6
+-- UNMET PEER DEPENDENCY angular-messages@^1.5.0 `-- mdi@1.4.57
npm WARN enoent ENOENT: no such file or directory, open
'C:\Users\xxxxx\Desktop\ngClassifieds\package.json'
npm WARN angular-material@1.0.6 requires a peer of
angular-animate@^1.5.0 but none was installed.
npm WARN angular-material@1.0.6 requires a peer of angular-aria@^1.5.0
but none was installed.
npm WARN angular-material@1.0.6 requires a peer of
angular-messages@^1.5.0 but none was installed.
Wie löse ich das Problem, um AngularJS Material und MDI zu installieren?
Antworten:
npm installiert keine Peer-Abhängigkeiten mehr, daher müssen Sie sie manuell installieren.
npm install
Führen Sie einfach eine der erforderlichen Deps durch und versuchen Sie dann erneut, die Haupt-Deps zu installieren.Auf Kommentar antworten:
In dieser Nachricht steht, welche Deps Sie vermissen
Also musst du
npm install angular angular-animate angular-aria angular-material angular-messages mdi
quelle
package.json
?--save
Schalter npm angeben , aktualisiert Ihre package.json für Sie (oder--save-dev
wenn das Paket eine Entwicklungsabhängigkeit ist)UNMET PEER DEPENDENCY
Der Fehler wird ausgelöst, wenn die Abhängigkeiten eines oder mehrerer in derpackage.json
Datei angegebener Module nicht erfüllt sind. Überprüfen Sie die Warnungen sorgfältig und aktualisieren Sie diepackage.json
Datei mit den richtigen Versionen der Abhängigkeiten.Dann renne
Dadurch werden alle erforderlichen Abhängigkeiten korrekt installiert.
quelle
In meinem Fall waren alle Abhängigkeiten bereits vorhanden. Bitte aktualisieren Sie NPM in diesem Fall, da es möglicherweise abgestürzt ist. Es hat mein Problem gelöst.
quelle
UNMET PEER DEPENDENCY typescript
beim Versuch der Installation erhaltentslint
. Nach der Aktualisierung der npm musste zuerst typscript und dann tslint installiert werden.npm-install-peer hat für mich gearbeitet.
quelle
Eine der wahrscheinlichsten Ursachen für diesen Fehler könnte sein, dass Sie in Ihrer package.json eine ältere Version definiert haben. Um dieses Problem zu lösen, ändern Sie die Versionen in package.json so, dass sie mit denen übereinstimmen, über die sich npm beschwert.
Sobald Sie fertig sind, führen Sie npm install und voila !! aus.
quelle
Diese Antwort gilt nicht für alle Fälle. Wenn Sie den Fehler jedoch nicht durch einfaches Eingeben beheben können
npm install
, können diese Schritte hilfreich sein.Nehmen wir an, Sie haben diesen Fehler erhalten.
Dies bedeutet, dass Sie Version 4.2.0 von packageA installiert haben, [email protected] jedoch Version 3.xx von pakageA benötigt. ( Erklärung von ^ )
Sie können diesen Fehler also beheben, indem Sie packageA auf 3.xx herabstufen. Normalerweise möchten Sie das Paket jedoch nicht herabstufen.
Die gute Nachricht ist, dass packageB in einigen Fällen einfach nicht mit packageA Schritt hält und der Betreuer von packageB versucht, die Peer-Abhängigkeit von packageA auf 4.xx zu erhöhen.
In diesem Fall können Sie überprüfen, ob es eine höhere Version von packageB gibt erfordert Version 4.2.0 von packageA in npm oder github.
Beispiel: Gehen Sie zur Release-Seite
Oft finden Sie bahnbrechende Änderungen in Bezug auf solche Abhängigkeiten.
Wenn Sie auf der Release-Seite nichts finden, gehen Sie zur Ausgabeseite und suchen Sie das Problem nach Schlüsselwörtern wie
peer
. Möglicherweise finden Sie nützliche Informationen.Zu diesem Zeitpunkt haben Sie zwei Möglichkeiten.
1) Aktualisieren Sie auf die gewünschte Version
2) Lassen Sie den Fehler vorerst und warten Sie, bis die stabile Version veröffentlicht ist.
Wenn Sie Option 1 wählen:
In vielen Fällen hat die Version kein
latest
Tag und ist daher nicht stabil. Sie müssen also überprüfen, was sich in diesem Update geändert hat, und sicherstellen, dass nichts kaputt geht.Wenn Sie Option 2 wählen:
Wenn das Upgrade von pakageA von Version 3 auf 4 trivial ist oder wenn der Betreuer von pakageB Version 4 von pakageA noch nicht getestet hat, aber sagt, dass dies kein Problem sein sollte, können Sie den Fehler möglicherweise in Betracht ziehen.
In beiden Fällen ist es am besten, gründlich zu testen, ob nichts kaputt geht.
Wenn Sie wissen möchten, warum Sie so etwas manuell ausführen müssen, wird dieser Link gut erklärt.
quelle
Ok, also habe ich lange gekämpft, um das herauszufinden. Hier ist die nukleare Option, wenn Sie alle anderen Möglichkeiten ausgeschöpft haben.
Wenn Sie fertig sind und es immer noch funktioniert, importieren Sie Ihren eigentlichen Code in dieses neue Projekt. Beheben Sie alle Kompilierungsfehler, die die neuere Version der Winkelursachen verursacht.
Das hat es für mich getan. 1 Stunde Nacharbeit im Vergleich zu 6 Stunden Versuch, WTF herauszufinden, war falsch. Ich wünschte, ich hätte es so gemacht, um anzufangen.
quelle
Die gegebene Antwort wird nicht immer funktionieren. Wenn es Ihr Problem nicht behebt. Stellen Sie sicher, dass Sie auch das richtige Symbol in Ihrem verwenden
package.json
. Dies ist sehr wichtig, um diese Kopfschmerzen zu beheben. Beispielsweise:Mein Typoskript muss also zwischen 2.4.2 und 2.6 liegen, oder?
Also habe ich meine Typoskriptbibliothek von using
"typescript": "^2.7"
auf using geändert"typescript": "^2.5"
. Scheint richtig?Falsch.
Das
^
bedeutet, dass Sie mit npm mit"typescript": "2.5"
oder"2.6"
oder"2.7"
etc in Ordnung sind ...Wenn Sie möchten , erfahren , was das
^
und~
es bedeutet , siehe: Was ist der Unterschied zwischen Tilde (~) und Caret (^) in package.json?Außerdem müssen Sie sicherstellen, dass das Paket vorhanden ist. Möglicherweise
"typescript": "2.5.9"
werden die Paketnummern nicht nachgeschlagen. Um wirklich sicher zu sein, entfernen Sie einfach das~
oder das,^
wenn Sie nicht lesen möchten, was sie bedeuten.quelle
library-one
) zB einen Peer vonpackage@<2.6
und die andere (library-two
) einen Peer von verwendetpackage@>2.7
? Muss ich mich dann mit zwei Versionenpackage
in meiner Codebasis befassen ? Woher weiß ich, dass ichlibrary-one
es[email protected]
während der Verwendung verwendenlibrary-two
muss, während ich es verwenden muss[email protected]
?Heute verfügbar Angular 2 rc.7 , und ich hatte ein ähnliches Problem mit
[email protected]
UNMET PEER DEPENDENCY.Wenn Sie, wie ich, einfach ersetzt
@angular/...rc.6
zu@angular/...rc.7
- es ist nicht genug. Weil zum Beispiel@angular/router
keinerc.6
Version hat.In diesem Fall bessere Bewertung package.json in Schnellstart
quelle
Sie können das Problem beheben, indem Sie die UNMET-Abhängigkeiten global installieren.
Beispiel: npm install -g @ angle / common @ 4.4.6
installieren Sie jeden nach dem anderen. Es hat bei mir funktioniert.
quelle