Antworten:
npm install <package_name> --save
Installiert das Paket und aktualisiert die Abhängigkeiten in Ihrer package.json. Da diese Frage gestellt wurde, wurde npm geändert --save
, sodass dies die Standardoption ist, sodass Sie --save
die Abhängigkeiten nicht aktualisieren müssen.
npm install <package_name> --no_save
Installiert das Paket, aktualisiert jedoch nicht die in Ihrer package.json aufgeführten Abhängigkeiten.
npm install <package_name> ---save-dev
aktualisiert das devDependencies
in Ihrem Paket. Diese werden nur für lokale Tests und Entwicklungen verwendet.
Weitere Informationen finden Sie unter https://docs.npmjs.com/getting-started/using-a-package.json .
Für die npm-Installation sind 3 exklusive, optionale Flags erforderlich, mit denen die Paketversion in Ihrem Hauptpaket gespeichert oder aktualisiert wird.
-S, --save
: Paket wird in Ihren Abhängigkeiten angezeigt.
-D, --save-dev
: Das Paket wird in Ihren devDependencies angezeigt.
-O, --save-optional
: Das Paket wird in Ihren optionalen Abhängigkeiten angezeigt.
Wenn Sie eine der oben genannten Optionen verwenden, um Abhängigkeiten in Ihrer package.json zu speichern, gibt es ein zusätzliches optionales Flag:
-E, --save-exact
: Gespeicherte Abhängigkeiten werden mit einer genauen Version konfiguriert, anstatt den Standard-Semverbereichsoperator von npm zu verwenden. Wenn Sie eine npm-shrinkwrap.json haben, wird diese ebenfalls aktualisiert.
<scope>
es ist optional. Das Paket wird aus der Registrierung heruntergeladen, die dem angegebenen Bereich zugeordnet ist. Wenn dem angegebenen Bereich keine Registrierung zugeordnet ist, wird die Standardregistrierung angenommen. Siehe npm-scope.
Hinweis: Wenn Sie das @ -Symbol nicht in Ihren Bereichsnamen aufnehmen, interpretiert npm dies stattdessen als GitHub-Repository (siehe unten). Auf Bereichsnamen muss auch ein Schrägstrich folgen.
Beispiele:
npm install sax --save
npm install githubname/reponame
npm install @myorg/privatepackage
npm install node-tap --save-dev
npm install dtrace-provider --save-optional
npm install readable-stream --save --save-exact
Hinweis: Wenn eine Datei oder ein Ordner mit dem Namen vorhanden ist <name>
im aktuellen Arbeitsverzeichnis , wird versucht, diese zu installieren, und es wird nur versucht, das Paket nach Namen abzurufen, wenn es nicht gültig ist.
(aus offiziellen Dokumenten) https://docs.npmjs.com/cli/install
--save
Option scheint zwar weiterhin zu funktionieren, ist jedoch nicht mehr erforderlich. Die Pakete werden jetzt standardmäßig in Abhängigkeiten gespeichert . Die Logik ist jetzt umgekehrt - wenn Sie Ihr Paket nicht speichern möchten, müssen Sie angeben--no-save
Das --save
Flagge erfüllt keinen Zweck mehr.
Wie in den anderen Antworten bereits erwähnt, hat das --save
Flag zuvor die Abhängigkeiten in der Projektdatei aktualisiert package.json
, jedochnpm install
enthält jetzt standardmäßig diese Funktionalität.
Wenn Sie verhindern möchten, dass npm install
Abhängigkeiten gespeichert werden, müssen Sie an dieser Stelle das --no-save
Flag verwenden.
Vielen Dank an Coruscate5 für die Erwähnung in ihrem Kommentar .
Weitere Informationen in der Dokumentation zur npm-Installation :
Bei der npm-Installation werden alle angegebenen Pakete standardmäßig in Abhängigkeiten gespeichert. Darüber hinaus können Sie mit einigen zusätzlichen Flags steuern, wo und wie sie gespeichert werden:
-P, --save-prod: Das Paket wird in Ihren Abhängigkeiten angezeigt. Dies ist die Standardeinstellung, sofern nicht -D oder -O vorhanden sind.
-D, --save-dev: Das Paket wird in Ihren devDependencies angezeigt.
-O, --save-optional: Das Paket wird in Ihren optionalen Abhängigkeiten angezeigt.
--no-save: Verhindert das Speichern in Abhängigkeiten.
Wenn Sie eine der oben genannten Optionen verwenden, um Abhängigkeiten in Ihrer package.json zu speichern, gibt es zwei zusätzliche optionale Flags:
-E, --save-genaue: Gespeicherte Abhängigkeiten werden mit einer exakten Version konfiguriert, anstatt den Standard-Semverbereichsoperator von npm zu verwenden.
-B, --save-bundle: Gespeicherte Abhängigkeiten werden ebenfalls zu Ihrer bundleDependencies-Liste hinzugefügt.