Erläuterung der Option --save für die Installation von npm

8

Erste Erfahrungen mit node.js / npm. Von der npm-install Dokumentation habe ich gelesen:

npm install benötigt 3 exklusive, optionale Flags, die die Paketversion in Ihrer Hauptversion package.json speichern oder aktualisieren:

  • --save : Das Paket wird in Ihrem dependencies angezeigt.

  • --save-dev : Das Paket wird in Ihrem devDependencies angezeigt.

  • --save-optional : Das Paket wird in Ihrem optionalDependencies angezeigt.

Aber ich kann nicht verstehen, wie es in der Praxis funktioniert. Wenn ich zum Beispiel den Befehl ausführen:

%Vor%

Ich würde erwarten, eine package.json Datei im aktuellen Verzeichnis zu finden, wobei devDependencies auf die installierte Version von bower gesetzt ist, stattdessen finde ich nichts.

Tue ich / erwarte etwas falsch?

Mit Knoten v0.10.21, npm 1.3.12 unter Ubuntu 12.04 x64

    
Emyl 03.01.2014, 11:28
quelle

2 Antworten

7

npm erstellt nicht create package.json für Sie, aber wird das Notwendige erstellen Abhängigkeiten für Sie, solange package.json existiert und legal ist JSON .

Erstellen Sie es so

%Vor%

Dann wird npm i --save whatever hinzufügen whatever@~x.x.x als eine Abhängigkeit wie erwartet hinzufügen. Die Datei muss da sein und JSON sein, das war's.

    
bevacqua 03.01.2014, 11:48
quelle
4

npm install ruft nur die Pakete aus der Registrierung ab und speichert sie in Ihren ./node_modules. Es aktualisiert Ihre package.json, um diese neue Abhängigkeit zu registrieren, wenn Sie es angeben. Ihre package.json hat drei Abhängigkeitsblöcke:

  1. Abhängigkeiten - diese werden benötigt, damit Ihre App ausgeführt werden kann.
  2. devDependencies - Diese werden für die Entwicklerumgebungen für Ihre App benötigt (so können Ihre Teammitglieder die Pakete abrufen, die Sie kürzlich dem Projekt hinzugefügt haben. Die hier aufgeführten Abhängigkeiten sind auf Produktions-Hosts nicht erforderlich.)
  3. optionalDependencies - Diese Pakete sind optional und es ist OK, wenn npm das zu installierende Paket nicht neu auflösen kann. d. h. ein Build-Fehler führt nicht zum Fehlschlagen der npm-Installation (beachten Sie jedoch, dass Ihre App Fälle behandeln sollte, in denen das Paket nicht gefunden werden kann.)

Hier ist das Verhalten bei den verschiedenen Verwendungen des npm install Befehls:

%Vor%     
gprasant 24.11.2014 22:12
quelle

Tags und Links