2016-12-08 11 views
5

Was läuft nicht:npm-Update mit NPM-shrinkwrap.json

npm update 

tun, wenn eine NPM-shrinkwrap.json Datei vorhanden ist? Ist es

  1. Aktualisieren Sie die Abhängigkeiten die shrinkwrap.json Datei die Abhängigkeiten
  2. Update passen package.json zu gehorchen (wodurch die shrinkwrap.json Datei abgesehen)
  3. nichts tun

Vielen dank im Voraus

Antwort

4

Wenn Sie laufen

npm update 

Es wird die Abhängigkeiten aktualisieren package.json zu gehorchen und Pflege wird nicht das, was auch in npm-shrinkwrap.json gespeichert wird, wenn node_modules Ordner leer ist, die package.json verwendet, wird installieren Update-Befehl bedeutet, während Befehl npm-shrinkwrap.json verwenden installieren.

Es macht keinen Sinn, die shrinkwrap Datei zu gehorchen [in den meisten Fällen.]

Grund

  • Es soll ein Überblick über Paket zu einem bestimmten stabilen Punkt sein und dieses Ding macht es ist perfekt für den Produktionscode.

  • Es gibt keine ^, ~, latest usw. in Schrumpffolie Datei.

  • Und wir wissen auch, dass shrinkwrap Datei soll nicht manuell Editor
  • Verwendung manipuliert wird also alles, was wir tun können, um einen früheren Zustand von Abhängigkeiten zurückgehen Sie diesen Befehl verwenden und dieses Ding kann mit NPM installieren
  • erreicht werden

Allerdings, wenn Sie laufen

npm install 

Es shrinkwrap Datei folgt. Aber

, wenn Sie laufen

npm install newPkg --save 

Es wird sowohl package.json und npm-shrinkwrap.json Datei

auch ändern Aber wenn man

npm update pkg --save 

Sicht wird es nur npm-shrinkwrap.json Datei ändern und wie ich schrieb bevor es package.json Datei verwendet, um gemäß semver

zu aktualisieren