424 Stimmen

Warum sagt npm install, dass ich nicht erfüllte Abhängigkeiten habe?

Ich habe ein Node-Paket. Wenn ich npm install im Stammverzeichnis des Pakets ausführe, werden viele Dinge installiert, aber es werden dann mehrere Fehlermeldungen ausgegeben, die so aussehen:

npm WARN unmet dependency /Users/seanmackesey/google_drive/code/explore/generator/node_modules/findup-sync/node_modules/glob erfordert graceful-fs@ '~1.2.0', wird aber geladen

Ich muss verwirrt sein darüber, was genau npm install macht. Wenn es eine Abhängigkeit erkennt, sollte es sie nicht installieren? Unter welchen Bedingungen gibt es mir Fehlermeldungen wie diese, und wie kann ich die Abhängigkeiten lösen?

7voto

Aakash Punkte 17068

Für jede -- UNMET PEER DEPENDENCY, z.B. -- UNMET PEER DEPENDENCY rxjs@5.0.0-rc.2, installieren Sie diese Abhängigkeit mit npm install --save rxjs@5.0.0-rc.2, bis Sie keine UNMET DEPENDENCIES mehr haben.

Viel Glück.

6voto

achasinh Punkte 500

Ich führe npm list aus und installiere alle als UNMET DEPENDENCY aufgelisteten Pakete

Zum Beispiel:

UNMET DEPENDENCY css-loader@^0.23.1
npm install css-loader@^0.23.1

2voto

wuliwong Punkte 3922

Ich hatte ein ähnliches Problem, als ich den React Native CLI installiert habe. Ich war mir nicht sicher, welches /node_modules-Verzeichnis ich nach dem Lesen der Antworten hier entfernen sollte. Letztendlich habe ich einfach ausgeführt

npm update -g

und konnte das Paket danach installieren.

2voto

user1585939 Punkte 21

Dies hat das Problem für mich gelöst:

  1. Korrigieren Sie die Versionsnummern in package.json gemäß den Fehlern;
  2. Entfernen Sie node_modules (rm -rf node_modules);
  3. Führen Sie npm install erneut aus.

Wiederholen Sie diese Schritte, bis keine Fehler mehr auftreten.

1voto

Marius Punkte 3549

npm install installiert alle Pakete aus npm-shrinkwrap.json, ignoriert jedoch möglicherweise Pakete in package.json, wenn sie nicht im Ersteren vorhanden sind.

Wenn Ihr Projekt eine npm-shrinkwrap.json hat, stellen Sie sicher, dass Sie npm shrinkwrap ausführen, um sie jedes Mal neu zu generieren, wenn Sie package.json hinzufügen/entfernen/ändern.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X