Come posso aggiornare devDependencies in NPM?


155

npm updatesembra semplicemente aggiornare i pacchetti dependencies, ma che dire devDependencies.

Al momento è possibile devDependencieseseguire l' installazione eseguendo npm install ., ma questo non funzionanpm update .

Qualche idea?


1
Ho appena incontrato la stessa cosa. Sono sorpreso da questa asimmetria tra npm installe npm update. Ci ho aggirato cancellando la mia node_modulesdirectory e quindi eseguendo di npm installnuovo, ma sembra che ci dovrebbe essere un modo migliore.
Joe White,

7
Ho aperto una segnalazione di bug per questo comportamento. Vedremo cosa succede.
Joe White,

Ciò può essere dovuto al fatto che gli sviluppatori di NPM pensavano che le persone avrebbero usato npm linkper fare ambienti di sviluppo.
Julian Knight,

Risposte:


157

Per aggiornare package.json oltre ai moduli locali, eseguire

npm update --save-dev

In alternativa, lo stesso comando per risparmiare tempo

npm update -D

È possibile visualizzare i dettagli completi dell'aggiornamento o qualsiasi comando relativo

npm help <cmd>

20
npm update -Dnon ha funzionato per me, non ha aggiornato nulla.
AmazingDreams,

27
Perché questo è contrassegnato come la risposta corretta quando la domanda non è come salvare gli aggiornamenti package.jsonma piuttosto come fare npm updateper aggiornare devDependencies?
Alejandro García Iglesias,


1
npm update --save-devfunziona bene per me. Utilizzando node v12.11.0e npmv6.11.3
maximedupre l'



4

Se si utilizza una versione di npm obsoleta, potrebbe trattarsi del problema. Quindi, prima di eseguire qualsiasi altro comando:

sudo npm install npm -g

o (se sopra non funziona):

sudo npm update npm -g

Quindi riavviare la console (affinché le modifiche abbiano effetto). Ora puoi controllare il tuo nuovo npm --versione se è aggiornato eseguire:

npm update

o (se preferisci):

npm update --save-dev

Sfortunatamente, questo non funziona in npm 5. Ecco il thread che tiene traccia del problema .
Dan Dascalescu,

2

Un modo (lento) per forzare l'aggiornamento è rimuovere la directory node_modules e quindi npm installripetere l'operazione.

Questo era un bug noto del npm updatecomando, che è stato corretto nel ramo di sviluppo di npm, vedere qui: https://github.com/isaacs/npm/pull/3863

Dovrebbe atterrare sull'ultima versione stabile di npm abbastanza presto.


1
In caso di npm> v5 dovresti anche rimuovere package-lock.jsonper farlo funzionare, altrimenti installerà solo le versioni elencate in quel file di blocco.
karfau,

Inoltre, questo non si aggiorna package.jsonper te. Ecco il thread che segue il problema .
Dan Dascalescu,

2

Ho riscontrato lo stesso problema di OP e non ho trovato alcuna soluzione, quindi ho deciso di scrivere un plug-in Grunt che aggiornerà automaticamente le mie devDependencies ..

È su Github, mi piacerebbe ricevere input e collaborazioni per renderlo lo strumento migliore che NPM non ha fornito.

Fondamentalmente aggiornerà automaticamente le tue dipendenze di sviluppo obsolete con una semplice Grunt Task.

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


2

Ciò che ha funzionato per me è l'installazione di dipendenze dei singoli sviluppatori come questa

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

1

Questi passaggi hanno funzionato per me:

  1. npm install -g npm-check-updates
  2. ncu -u
  3. npm update
  4. npm install
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.