2012-04-09 6 views
89

npm update scheint nur die Pakete in dependencies aktualisieren, aber was ist mit devDependencies.Wie aktualisiere ich devDependencies in NPM?

Gerade jetzt können Sie devDependencies installieren npm install . ausgeführt wird, aber dies für npm update .

Irgendwelche Ideen nicht funktioniert?

+0

Ich lief gerade in die gleiche Sache. Ich bin überrascht über diese Asymmetrie zwischen 'npm install' und' npm update'. Ich habe daran gearbeitet, indem ich mein 'node_modules' -Verzeichnis gelöscht habe und dann' npm install' erneut ausgeführt habe, aber es scheint, als sollte es einen besseren Weg geben. –

+0

Yah, ich tat das Gleiche. – Matt

+7

Ich habe einen [Fehlerbericht] (https://github.com/isaacs/npm/issues/2369) für dieses Verhalten geöffnet. Mal sehen was passiert. –

Antwort

99

Um package.json zusätzlich zu den lokalen Modulen laufen

npm update --save-dev 

Alternativ kann der gleiche Befehl Zeit kann

npm update -D 

Sie die vollständige Detailansicht speichern zu aktualisieren update, oder irgendein Befehl für diese Angelegenheit durch

npm help <cmd> 
+11

'npm update -D' funktionierte nicht für mich, es hat nichts aktualisiert. – AmazingDreams

+11

Warum ist dies als die richtige Antwort markiert, wenn die Frage nicht ist, wie man Aktualisierungen von 'package.json' speichert, sondern wie man' npm update' macht, um devDependencies zu aktualisieren? –

+0

npm 5 funktioniert richtig .. – onalbi

3

Eine (langsame) Möglichkeit, das Update zu erzwingen, ist, das Verzeichnis node_modules zu entfernen und dann npm install erneut auszuführen.

Dies ist ein bekannter Fehler des npm update Befehl war, der auf dem Entwicklungszweig von npm behoben wurde, siehe hier: https://github.com/isaacs/npm/pull/3863

Es auf die neueste stabile Version von npm landen sollte ziemlich bald.

+0

Im Fall von npm> v5 müssen Sie 'package-lock.json' ebenfalls entfernen, damit dies funktioniert, andernfalls werden nur die in dieser Sperrdatei aufgeführten Versionen installiert. – karfau

2

neue Abhängigkeit in config.json Datei hinzufügen,

dann Befehl ausführen

npm update 

Manchmal Befehl mit sudo ausführen müssen für die Admin-Rechte dann verwenden.

sudo npm update 
7

Dieses Problem wird mit der aktuellen Version von NPM (1.3.11) nicht mehr berücksichtigt.

-Update funktioniert mit: npm update

2

ich in das gleiche Problem lief wie OP hatte, und keine Lösung gefunden, so habe ich beschlossen, einen Grunt Plugin zu schreiben, die Auto-Update wird mein devDependencies ..

Es ist auf Github, ich würde gerne etwas Input und Kollaborationen bekommen, um es zum besten Tool zu machen, das NPM nicht zur Verfügung gestellt hat.

Im Grunde werden Ihre veralteten Entwicklungsabhängigkeiten automatisch mit einer einfachen Grunt-Aufgabe aktualisiert.

https://github.com/pgilad/grunt-dev-update

36

Installieren npm-Check-Updates (https://www.npmjs.org/package/npm-check-updates), dann in Ihrem Projektordner springen und laufen:

npm-check-updates 

Und zu aktualisieren und Änderungen an Ihrem Paket zu speichern.JSON-Datei:

npm-check-updates -u 
+0

Beenden Sie hilfreiche Dienstprogramm, danke für die Freigabe. –

3

Wenn Sie veraltete npm-Version verwenden, könnte es das Problem sein. Also, bevor andere Befehle ausführen:

sudo npm install npm -g 

oder (wenn oben nicht funktioniert):

sudo npm update npm -g 

Dann Relaunch die Konsole (um die Änderungen zu übernehmen). Jetzt können Sie Ihre neue npm --version überprüfen und, wenn es auf dem neuesten Stand ist auszuführen:

npm update 

oder (wenn Sie bevorzugen):

npm update --save-dev 
0

Was für mich gearbeitet ist die Installation einzelner Entwickler Abhängigkeiten wie diese

npm install [email protected] --save --only=dev