webentwicklung-frage-antwort-db.com.de

Wie kann man mit npm nur die Abhängigkeit zu package.json speichern?

Ich füge Abhängigkeiten zu einem package.json hinzu, der als Teil eines Bereitstellungsprozesses für eine virtuelle Maschine verwendet wird. Daher muss ich die Module nicht lokal installieren, da der Provisioner dies für mich in der VM erledigt. Gibt es eine Möglichkeit, Folgendes zu tun:

npm install --save <module>

Damit es nur eine Abhängigkeit für die neueste Version des Moduls in package.json erstellt, ohne das Modul tatsächlich herunterzuladen oder einen node_modules-Ordner zu erstellen?

Die --dry-run-Option ist in der Nähe, da sie keinen node_modules-Ordner erstellt, aber auch nicht in package.json schreibt.

Im Moment mache ich jedes Mal die folgenden Schritte manuell, wenn ich Pakete aktualisieren muss, bevor die VM erneut bereitgestellt wird:

rm -rf node_modules

Andere Gründe hierfür können die einfache Erstellung einer package.json-Datei in Situationen mit niedriger Bandbreite wie Tethering sein, bei denen Sie wissen, dass Sie das Modul letztendlich benötigen, die Bandbreite aber nicht beanspruchen möchten.

21
Soviut

Es gibt keine Möglichkeit, dies mit npm zu tun, das mir bekannt ist.

Dafür gibt es zwei npm-Pakete. Ich habe noch nie eines von ihnen benutzt, aber es wäre vielleicht einen Versuch wert:

Hoffe das hilft!

4
RyanZim

npm install --save packagename dann npm uninstall packagename (ohne --save-Flag) erledigt dies, obwohl ein leerer node_modules-Ordner erstellt wird

0
seedsseedsseeds

Suche nach der Lösung. Nicht gefunden, dann ein Skript erstellt, das der package.json-Datei Abhängigkeiten (neueste Versionen) hinzufügt und den Installationsvorgang überspringt.

https://www.npmjs.com/package/npm-add-dependencies

Installation

$ npm install npm-add-dependencies -g

Verwendungszweck

Wechseln Sie in ein Verzeichnis mit dem Ziel package.json und führen Sie es aus

$ npm-add-dependencies <dependencies> [target]

dabei ist dependencies die Liste der Abhängigkeiten geteilt durch Leerzeichen und target eine der folgenden:

--dev für devDependencies

--peer für peerDependencies

--bundled für bundledDependencies

--optional für optionalDependencies

Wenn kein target-Argument übergeben wird, werden Abhängigkeiten in dependencies geschrieben.

Würde mich freuen, wenn es jemand anderem helfen könnte.

0
Arfeo

Interessanterweise scheint die Kombination von --package-lock-only mit --no-package-lock das zu tun

npm install --package-lock-only --no-package-lock PACKAGE

Die Datei package-lock.json wird dadurch nicht erstellt oder aktualisiert. Fügt der package.json nur einen Eintrag hinzu

0
Epeli