2017-11-30 1 views
0

Ich habe ein NodeJS-Projekt, das vor langer Zeit gestartet wurde. Es hat viele Pakete, die installiert wurden, bevor ich die --Save-Flag verstanden habe. Vor ein paar Versionen entschied npm, dass es Pakete löschen würde, die in package.json nicht erwähnt werden (eine wahnsinnige Sache). Dies verursacht ein schreckliches Problem.Erstellen/Aktualisieren von Paket.json für vorhandenes Projekt

Jetzt verstehe ich --save und benutze es richtig. Ich kann jedoch keine Möglichkeit finden, package.json mit Paketen zu aktualisieren, die nicht aufgelistet sind.

Gibt es eine Möglichkeit, npm oder ein anderes Programm dazu zu bringen, ein Projekt zu betrachten und fehlende Abhängigkeiten hinzuzufügen? Ich wäre glücklich genug, wenn es die Abhängigkeitsstruktur vollständig neu erstellen würde.

Vorschläge?

+0

Vielleicht hilft das: https://stackoverflow.com/questions/42658010/how-to-get-a-list-of -Pakete-nicht-gespeichert-zu-Paket-JSON – kmdm

Antwort

2

UPDATE: npm 3.5+

alles von package.json entfernen und laufen: npm init --yes.

Dadurch wird die Datei package.json mit Abhängigkeiten neu erstellt, nicht jedoch die devdependencies.

npm 3

ob Du auf Unix-basierten Systemen aus Ihrem Projektstammordner mit einer package.json Datei bereits erstellt (NPM init, wie Sie bereits erwähnt), laufen:

npm install $(ls node_modules/) --save 

und es werden die Pakete neu installieren und sie in package.json speichern als Abhängigkeiten

+0

Wird das n Benötigen Sie unbedingt die gleichen Versionen? (Ich bin mir nicht sicher, ob npm die vorhandenen Versionen übernehmen wird oder nicht) – kmdm

+0

Dieser Vorschlag funktioniert, reicht aber nicht aus. Es wird die Links aus dem aktuellen Verzeichnis erhalten. Es wird nicht das gesamte Projekt aktualisieren. Wenn Sie ein Verzeichnis verpassen, löscht npm häufig Komponenten, die sich nicht in einer package.json befinden. – tqwhite

Verwandte Themen