Al hilo de utilizar en diferentes proyectos el gestor de dependencias npm
, aprovecho los apuntes tomados y los vuelco aquí por si a alguien le pudiera ser de utilidad.
NPM
es un gestor de paquetes y dependencias escrito en NodeJS muy extendido entre diferentes lenguajes de programación.
Para este artículo, he de remarcar que he sacado mucha información del blog de Carl Rippon.
Estructura del versionado de paquetes
El versionado de los paquetes npm
tiene una semántica. Está compuesta de la siguiente forma: Mayor.Menor.Parche
- ‘Parche‘: Se incrementa para corrección de errores, no se va a romper el código
- ‘Menor‘: Se incrementa para incorporar nuevas features, no se va a romper tu código
- ‘Mayor‘: Se incrementa para actualizaciones grandes que podrían suponer cambios de código. Conviene revisar documentación del paquete a actualizar para ver cómo hacer el upgrade y en qué afecta
Los caracteres ^
y ~
en las versiones
Todas las versiones que tienen como prefijo ^
, significa que cuando actualicemos, podrá actualizar en todas las versiones Menores.
Cuando vemos ~
, significa que actualizará sólo con si hay versiones nuevas a nivel de Parche.
Comandos útiles npm
Cómo visualizar paquetes que han sido actualizados:
npm outdated
En la tabla resultado, aparecen únicamente aquellos paquetes que tienen alguna actualización. Vemos tres columnas:
- Current
- Wanted: se puede actualizar, no supone ningún cambio
- Latest: si difiere de la wanted, es porque es una actualización «mayor». Hay que revisar los release notes de dicho paquete para ver si tenemos que hacer alguna adaptación a nuestro código.
Los paquetes que aparezcan listados en rojo significa que tienen versiones seguras que puedes instalar. Para ello, puedes hacer npm update
Para instalar y poblar el directorio node_modules, ejecutamos el siguiente comando:
npm install
Este comando lee el fichero package.json
e instala los paquetes en base a las versiones especificadas. Siempre cogerá la última versión segura disponible (según esté fijado en package.json)
Para actualizar los paquetes a la última versión segura:
npm update
Revisará todas las dependencias y actualizará los paquetes correspondientes.
Si queremos actualizar a la versión Latest, no vale con utilizar npm update
, porque no es seguro. Tendemos que hacer lo siguiente:
npm install <nombrepaquete>@latest
Antes de ejecutar el comando superior, recuerda revisar muy bien los Release Notes de los paquetes que vas a actualizar.
Como decía, no es seguro y tendrás que revisar si el paquete requiere alguna atención especial, algún cambio o migración necesario para que funcione tu software con la nueva versión.