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?

1voto

Marcelo Gumiero Punkte 1811

In meinem Fall hat das Update von npm das Problem gelöst.

sudo npm install -g npm

1voto

korp Punkte 13

Ich bin auf dieses Problem gestoßen, als ich React-Pakete installiert habe und das hat bei mir funktioniert: npm install --save

1voto

Uberbrady Punkte 472

Ich versuchte, an einem automatisierten Bereitstellungssystem zu arbeiten, das npm install ausführt, daher würden viele dieser Lösungen für mich in automatisierter Weise nicht funktionieren. Ich war nicht in der Lage, node_modules/ zu löschen/neu zu erstellen, noch konnte ich Node.js-Versionen leicht ändern.

Also habe ich npm shrinkwrap ausgeführt - habe die Datei npm-shrinkwrap.json zu meinem Bereitstellungs-Bundle hinzugefügt und von dort aus Installationen ausgeführt. Das hat das Problem für mich gelöst; mit der Shrinkwrap-Datei als 'Helfer' schien npm in der Lage zu sein, die richtigen Pakete zu finden und sie für mich zu installieren. (Shrinkwrap hat auch andere Funktionen, aber das war das, wofür ich es in diesem speziellen Fall benötigte).

1voto

arielhad Punkte 1433

--dev installiert devDependencies rekursiv (und das läuft immer..) Wie kann das helfen, Versionsunterschiede zu lösen?

Sie können versuchen, den node_modules-Ordner zu entfernen, dann den npm-Cache zu bereinigen und dann erneut 'npm i' auszuführen.

1voto

John Doe Punkte 1973

Ein weiterer Schritt, ähnlich wie bei etwas anderem, den ich hinzufügen würde.

Beachten Sie, dass ab npm Version > 1.4.9 'npm install' devDependencies installiert. Versuchen Sie zunächst, vorhandene Module und Cache zu entfernen:

node_modules entfernen $ rm -rf node_modules/
$ npm cache clean ausführen

Versuchen Sie dann:

npm install --dev
npm update --dev

Zumindest wird dies die rekursive Abhängigkeitsauflösung lösen.

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