Actualice todas las dependencias de Node a su última versión

¿Cómo actualiza todo el almacén de dependencias npm en el archivo package.json, a su última versión disponible?

Cuando instala un paquete usandonpm install <packagename>, la última versión disponible del paquete se descarga y se coloca en elnode_modulescarpeta, y se agrega una entrada correspondiente a lapackage.jsonypackage-lock.jsonarchivos que están presentes en su carpeta actual.

npmcalcula las dependencias e instala la última versión disponible de ellas también.

Digamos que instalascowsay, una genial herramienta de línea de comandos que te permite hacer que una vaca digacosas.

Cuando ustednpm install cowsay, esta entrada se agrega a lapackage.jsonexpediente:

{
  "dependencies": {
    "cowsay": "^1.3.1"
  }
}

y este es un extracto depackage-lock.json, donde eliminé las dependencias anidadas para mayor claridad:

{
  "requires": true,
  "lockfileVersion": 1,
  "dependencies": {
    "cowsay": {
      "version": "1.3.1",
      "resolved": "https://registry.npmjs.org/cowsay/-/cowsay-1.3.1.tgz",
      "integrity": "sha512-3PVFe6FePVtPj1HTeLin9v8WyLl+VmM1l1H/5P+BTTDkMAjufp+0F9eLjzRnOHzVAYeIYFF5po5NjRrgefnRMQ==",
      "requires": {
        "get-stdin": "^5.0.1",
        "optimist": "~0.6.1",
        "string-width": "~2.1.1",
        "strip-eof": "^1.0.0"
      }
    }
  }
}

Ahora esos 2 archivos nos dicen que instalamos la versión1.3.1de cowsay, y nuestra regla para las actualizaciones es^1.3.1, que paralas reglas de control de versiones de npmsignifica que npm puede actualizar a parches y versiones menores:1.3.2,1.4.0etcétera.

Pero no para los cambios de versión importantes que rompen la compatibilidad, lo que significa, en este ejemplo,2.0y más alto.

Si hay una nueva versión menor o parche y escribimosnpm update, la versión instalada se actualiza y lapackage-lock.jsonarchivo diligentemente llenado con la nueva versión.

package.jsonpermanece sin cambios.

Para descubrir nuevas versiones de los paquetes, ejecutenpm outdated.

Aquí está la lista de algunos paquetes desactualizados en un repositorio que no actualicé durante bastante tiempo:

Algunas de esas actualizaciones son versiones importantes. Corriendonpm updateno actualizará la versión de esos. Las versiones principales nunca se actualizan de esta manera porque (por definición) introducen cambios importantes ynpmquiero ahorrarle problemas.

Para actualizar todos los paquetes a una nueva versión principal, instale elnpm-check-updatespaquete a nivel mundial:

npm install -g npm-check-updates

luego ejecútalo:

ncu -u

esto actualizará todas las sugerencias de versión en elpackage.jsonarchivo, adependenciesydevDependencies, para que npm pueda instalar la nueva versión principal.

Ahora está listo para ejecutar la actualización:

npm update

Si acaba de descargar el proyecto sin elnode_modulesdependencias y desea instalar las nuevas versiones brillantes primero, simplemente ejecute

npm install

Descarga mi gratisManual de Node.js


Más tutoriales de nodos: