2012-04-09 39 views
89

npm update parece que acaba de actualizar los paquetes en dependencies, pero ¿qué pasa con devDependencies.¿Cómo actualizo devDependencies en NPM?

En este momento se puede instalar mediante la ejecución de devDependenciesnpm install ., pero esto no funciona para npm update .

¿Alguna idea?

+0

Me encontré con lo mismo. Me sorprende esta asimetría entre 'npm install' y' npm update'. Lo solucioné borrando mi directorio 'node_modules' y luego ejecutando' npm install' nuevamente, pero parece que debería haber una forma mejor. –

+0

Yah, hice lo mismo. – Matt

+7

Abrí un [informe de error] (https://github.com/isaacs/npm/issues/2369) para este comportamiento. Veremos que pasa. –

Respuesta

99

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 actualización, o cualquier comando para ese asunto a través de

npm help <cmd> 
+11

'npm update -D' no funcionó para mí, no actualizó nada. – AmazingDreams

+11

¿Por qué se marca esto como la respuesta correcta cuando la pregunta no es cómo guardar actualizaciones en 'package.json', sino más bien cómo hacer' npm update' para actualizar devDependencies? –

+0

npm 5 funciona correctamente. – onalbi

3

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

Esto fue un error conocido del comando npm update, que se ha fijado en la rama de desarrollo de npm, ver aquí: https://github.com/isaacs/npm/pull/3863

Debe aterrizar en la última versión estable de NPM muy pronto.

+0

En el caso de npm> v5 también necesitaría eliminar 'package-lock.json' para que esto funcione, de lo contrario solo instalará las versiones enumeradas en ese archivo de bloqueo. – karfau

2

Añadir nueva dependencia en el archivo config.json,

continuación, ejecute comandos

npm update 

veces es necesario ejecutar comandos con privilegios de administrador sudo para luego usar.

sudo npm update 
7

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

actualización funciona bien con: npm update

2

me encontré con el mismo problema que tenía OP, y no encontró ninguna solución, por lo que decidió escribir un plugin ronco que se auto-actualizar mi devDependencies ..

Está en Github, me gustaría obtener algunas aportaciones y colaboraciones para que sea la mejor herramienta que NPM no haya proporcionado.

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

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

36

Instalar NPM-Check-actualizaciones (https://www.npmjs.org/package/npm-check-updates), y luego saltar a la carpeta de proyecto y ejecute:

npm-check-updates 

y actualizar y guardar los cambios en su paquete.archivo json:

npm-check-updates -u 
+0

Salir de utilidad útil, gracias por compartir. –

3

Si está utilizando una versión obsoleta de npm, podría ser el problema. Así que antes de cualquier otro comandos se ejecutan:

sudo npm install npm -g 

o (si arriba no funciona):

sudo npm update npm -g 

Entonces relanzamiento la consola (para que los cambios surtan efecto). Ahora se puede comprobar su nueva npm --version y si está actualizado ejecutar:

npm update 

o (si lo prefiere):

npm update --save-dev 
0

Lo que funcionó para mí es la instalación de dependencias dev individuales como esto

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