¿Cómo actualizo devDependencies en NPM?

155

npm updateparece actualizar los paquetes dependencies, pero ¿qué pasa devDependencies?

En este momento puede instalar devDependenciesejecutando npm install ., pero esto no funciona paranpm update .

¿Algunas ideas?

Mate
fuente
1
Me encontré con lo mismo. Me sorprende esta asimetría entre npm instally npm update. Lo solucioné eliminando mi node_modulesdirectorio y luego ejecutándolo npm installnuevamente, pero seguro que parece que debería haber una mejor manera.
Joe White
77
Abrí un informe de error para este comportamiento. Veremos que pasa.
Joe White
Esto puede deberse a que los desarrolladores de NPM pensaron que la gente los usaría npm linkpara hacer entornos de desarrollo.
Julian Knight

Respuestas:

157

Para actualizar package.json además de los módulos locales, ejecute

npm update --save-dev

Alternativamente, el mismo comando para ahorrar tiempo

npm update -D

Puede ver el detalle completo de la actualización, o cualquier comando al respecto a través de

npm help <cmd>
deckerdev
fuente
20
npm update -Dno funcionó para mí, no actualizó nada.
AmazingDreams
27
¿Por qué está marcada como la respuesta correcta cuando la pregunta no es cómo guardar actualizaciones package.jsonsino cómo hacer npm updatepara actualizar devDependencies?
Alejandro García Iglesias
@onalbi: no lo hace. Aquí está el hilo que rastrea el problema .
Dan Dascalescu
1
npm update --save-devfunciona bien para mí Usando nodo v12.11.0y npmv6.11.3
maximedupre
55

Instale npm-check-updates ( https://www.npmjs.org/package/npm-check-updates ), luego vaya a la carpeta de su proyecto y ejecute:

npm-check-updates

Y para actualizar y guardar los cambios en su archivo package.json:

npm-check-updates -u
Michael Thompson
fuente
ncuSería mejor que npm-check-updatesguardar la escritura.
Edric
@DimitriKopriwa hay una -dopción solo para devDependencies
Michael Thompson
ncu --dep dev -u; npm install
Kiruahxh
7

Este problema ya no desaparece con la versión actual de NPM (1.3.11).

La actualización funciona bien con: npm update

spieglio
fuente
1
Lamentablemente no. Aquí está el hilo que rastrea el problema .
Dan Dascalescu
4

Si está utilizando una versión npm desactualizada, podría ser el problema. Entonces, antes de ejecutar cualquier otro comando:

sudo npm install npm -g

o (si lo anterior no funciona):

sudo npm update npm -g

Luego, reinicie la consola (para que los cambios surtan efecto). Ahora puede verificar su nuevo npm --versiony si está actualizado ejecutar:

npm update

o (si lo prefiere):

npm update --save-dev
jmarceli
fuente
Desafortunadamente, esto no funciona en npm 5. Aquí está el hilo que rastrea el problema .
Dan Dascalescu
2

Una forma (lenta) de forzar la actualización es eliminar el directorio node_modules y luego hacer npm install volver a .

Este era un error conocido del npm updatecomando, que se ha corregido en la rama de desarrollo de npm, vea aquí: https://github.com/isaacs/npm/pull/3863

Debería aterrizar en la última versión estable de npm muy pronto.

Rick Deckard
fuente
1
En el caso de npm> v5, también deberá eliminarlo package-lock.jsonpara que esto funcione, de lo contrario, solo instalará las versiones enumeradas en ese archivo de bloqueo.
karfau
Además, esto no se actualizará package.jsonpara usted. Aquí está el hilo que rastrea el problema .
Dan Dascalescu
2

Me encontré con el mismo problema que tenía OP y no encontré ninguna solución, así que decidí escribir un complemento Grunt que actualizará automáticamente mis dependencias de desarrollo.

Está en Github, me encantaría obtener algunos aportes y colaboraciones para que sea la mejor herramienta que NPM no ha proporcionado.

Básicamente, actualizará automáticamente sus dependencias de desarrollo obsoletas con una simple tarea de Grunt.

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

Gilad Peleg
fuente
2

Lo que funcionó para mí es instalar dependencias de desarrollo individuales como esta

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

Estos pasos me funcionaron:

  1. npm install -g npm-check-updates
  2. ncu -u
  3. npm update
  4. npm install
Alferd Nobel
fuente