Wie aktualisiere ich devDependencies in NPM?


155

npm updatescheint nur die Pakete zu aktualisieren dependencies, aber was ist mit devDependencies.

Im Moment können Sie devDependenciesdurch Ausführen installieren npm install ., aber das funktioniert nicht fürnpm update .

Irgendwelche Ideen?


1
Ich bin einfach auf dasselbe gestoßen. Ich bin überrascht über diese Asymmetrie zwischen npm installund npm update. Ich habe es umgangen, indem ich mein node_modulesVerzeichnis gelöscht und dann npm installwieder ausgeführt habe, aber es scheint sicher, dass es einen besseren Weg geben sollte.
Joe White

7
Ich habe einen Fehlerbericht für dieses Verhalten geöffnet . Mal sehen was passiert.
Joe White

Dies kann daran liegen, dass die NPM-Entwickler dachten, dass die Leute dies npm linkfür Entwicklungsumgebungen verwenden würden .
Julian Knight

Antworten:


157

Führen Sie aus, um package.json zusätzlich zu den lokalen Modulen zu aktualisieren

npm update --save-dev

Alternativ der gleiche Befehl, um Zeit zu sparen

npm update -D

Sie können die vollständigen Details der Aktualisierung oder einen beliebigen Befehl für diese Angelegenheit anzeigen

npm help <cmd>

20
npm update -Dhat bei mir nicht funktioniert, es hat nichts aktualisiert.
AmazingDreams

27
Warum wird dies als die richtige Antwort markiert, wenn die Frage nicht lautet, wie Updates gespeichert werden sollen , package.jsonsondern wie npm updatedevDependencies aktualisiert werden sollen?
Alejandro García Iglesias

@onalbi: tut es nicht. Hier ist der Thread, der das Problem verfolgt .
Dan Dascalescu

1
npm update --save-devfunktioniert gut für mich. Verwenden von Node v12.11.0und v6.11.3
Npm

55

Installieren Sie npm-check-updates ( https://www.npmjs.org/package/npm-check-updates ), springen Sie in Ihren Projektordner und führen Sie Folgendes aus:

npm-check-updates

Und um Änderungen an Ihrer package.json-Datei zu aktualisieren und zu speichern:

npm-check-updates -u

ncuwäre besser als npm-check-updatesdas tippen zu sparen.
Edric

@ DimitriKopriwa gibt es eine -dOption nur für devDependencies
Michael Thompson

ncu --dep dev -u; npm installieren
Kiruahxh


4

Wenn Sie eine veraltete npm-Version verwenden, liegt dies möglicherweise am Problem. Bevor also andere Befehle ausgeführt werden:

sudo npm install npm -g

oder (wenn oben nicht funktioniert):

sudo npm update npm -g

Dann Relaunch der Konsole (um die Änderungen zu übernehmen). Jetzt können Sie Ihr neues überprüfen npm --versionund ausführen, wenn es aktuell ist:

npm update

oder (wenn Sie es vorziehen):

npm update --save-dev

Leider funktioniert dies in npm 5 nicht. Hier ist der Thread, der das Problem verfolgt .
Dan Dascalescu

2

Eine (langsame) Möglichkeit, die Aktualisierung zu erzwingen, besteht darin, das Verzeichnis node_modules zu entfernen und es dann npm installerneut durchzuführen .

Dies war ein bekannter Fehler des npm updateBefehls, der im Entwicklungszweig von behoben npmwurde. Siehe hier: https://github.com/isaacs/npm/pull/3863

Es sollte ziemlich bald auf der neuesten stabilen Version von npm landen.


1
Im Fall von npm> v5 müssten Sie auch entfernen package-lock.json, damit dies funktioniert. Andernfalls werden nur die in dieser Sperrdatei aufgeführten Versionen installiert.
Karfau

Dies wird auch nicht package.jsonfür Sie aktualisiert . Hier ist der Thread, der das Problem verfolgt .
Dan Dascalescu

2

Ich hatte das gleiche Problem wie OP und fand keine Lösung. Deshalb habe ich beschlossen, ein Grunt-Plugin zu schreiben, das meine devDependencies automatisch aktualisiert.

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

Grundsätzlich werden Ihre veralteten Entwicklungsabhängigkeiten mit einer einfachen Grunt-Aufgabe automatisch aktualisiert.

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


2

Was für mich funktioniert hat, ist die Installation einzelner Entwicklungsabhängigkeiten wie diese

npm install react-test-renderer@15.6.1 --save --only=dev

1

Diese Schritte haben bei mir funktioniert:

  1. npm install -g npm-check-updates
  2. ncu -u
  3. npm update
  4. npm install
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.