¿Cómo puedo actualizar cada dependencia en package.json a la última versión?
Copié package.json de otro proyecto y ahora quiero actualizar todas las dependencias a sus últimas versiones, ya que este es un proyecto nuevo y no me importa arreglar algo si se rompe.
¿Cuál es la forma más sencilla de hacer esto?
La mejor manera que conozco es ejecutar npm info express version
y luego actualizar cada dependencia package.json
manualmente. Debe haber una mejor manera.
{
"name": "myproject",
"description": "my node project",
"version": "1.0.0",
"dependencies": {
"express": "^3.0.3", // how do I get these bumped to latest?
"mongodb": "^1.2.5",
"underscore": "^1.4.2"
}
}
Para soluciones específicas de Yarn , consulte esta pregunta de desbordamiento de pila.
Parece que npm-check-updates es la única forma de que esto suceda ahora.
npm i -g npm-check-updates
ncu -u
npm install
O usando npx (para no tener que instalar un paquete global):
npx npm-check-updates -u
npm install
En npm <3.11:
Simplemente cambie la versión de cada dependencia a *
y luego ejecute npm update --save
. ( Nota: roto en versiones recientes (3.11) de npm ).
Antes:
"dependencies": {
"express": "*",
"mongodb": "*",
"underscore": "*",
"rjs": "*",
"jade": "*",
"async": "*"
}
Después:
"dependencies": {
"express": "~3.2.0",
"mongodb": "~1.2.14",
"underscore": "~1.4.4",
"rjs": "~2.10.0",
"jade": "~0.29.0",
"async": "~0.2.7"
}
Por supuesto, este es el martillo contundente de la actualización de dependencias. Está bien si, como dijiste, el proyecto está vacío y nada puede romperse.
Por otro lado, si está trabajando en un proyecto más maduro, probablemente desee verificar que no haya cambios importantes en sus dependencias antes de actualizar.
Para ver qué módulos están desactualizados, simplemente ejecute npm outdated
. Enumerará todas las dependencias instaladas que tengan versiones más recientes disponibles.
Para conocer la solución específica de Yarn , consulte esta respuesta de Stack Overflow .
npm-check-updates
es una utilidad que ajusta automáticamente un archivo package.json con la última versión de todas las dependencias.
Ver actualizaciones de npm-check-updates
npm install -g npm-check-updates
ncu -u
npm install
Una forma un poco menos intrusiva (evita una instalación global) de hacer esto si tiene una versión moderna npm
es:
npx npm-check-updates -u
npm install