Resultado de ejecutar el comando ncu en el proyecto jslane a fecha de publicación (respecto a la versión de GutHub se ha actualizado la versión de chai para disponer de un ejemplo de cada tipo).
Al trabajar en un proyecto con Node generalmente se instala la última versión de los paquetes necesarios. A medida que pasa el tiempo van saliendo nuevas versiones de estos con nuevas funcionalidades, soluciones de errores y parches de seguridad. Pero, si no hacemos nada, las versiones del archivo package.json no se actualizan. Algo que, en el peor de los casos, puede exponer los desarrollos debido a fallos de seguridad conocidos que pueden ser explotados. Para solucionar este problema y actualizar las dependencias de Node a la última versión se puede recurrir al paquete npm-check-updates.
npm-check-updatesEl paquete npm-check-updates permite actualizar las dependencias de cualquier proyecto, por lo que es aconsejable instalarlo como una dependencia global, nunca como una dependencia de un proyecto. Para lo que, como es habitual, se usará el comando npm con la opción -g
npm install npm-check-updates -g
Comando que en el caso de Linux y macOS ha de venir precedido de sudo. Una vez hecho esto ya tendremos el paquete instalado y podremos acceder al mismo mediante el comando ncu.
Tras la instalación del paquete en nuestro sistema podemos ir a cualquier proyecto y ejecutar el comando ncu. Por ejemplo, podemos descargar el proyecto jslane (código que se puede descargar desde GitHub) para ver los paquetes que requieren actualización.
En este ejemplo, con la versión del proyecto a fecha de publicación, existen cinco paquetes que pueden ser actualizados. Indicando la versión actual y la última disponible. Empleando además un código de colores diferente para los parches (verde), las versiones menores (azul) y las mayores (rojo). Algo que ayuda a decir si actualizar o no en función de que la nueva versión pueda tener cambios que no sean compatibles (las versiones mayores).
En la sección anterior se ha obtenido el listado de paquetes, pero no se ha modificado el listado de archivos package.json. Aunque la actualización se puede hacer manualmente, esto también lo puede hacer automáticamente el comando ncu. Facilitando de este modo las tareas de mantenimiento. En el caso de que queramos actualizar todas las dependencias simplemente hay que lanzar el comando con la opción -u
ncu -u
Pero, en el caso de que solamente se deseen instalar los parches o las versiones menores esto se puede indicar con el comando --target seguido de algunas de las opciones (patch, minor, o latest) con las que se indica el tipo de actualización. Por ejemplo, si queremos actualizar los paquetes a la última versión menor de la versión actual debemos escribir el comando
ncu -u --target minor
Finalmente, si se desea un mayor control sobre los paquetes a actualizar, es mejor usar el modo interactivo en el que preguntará uno a uno que paquetes se van a actualizar. Modo al que se accede mediante la opción -i.
ncu -i
Una vez hecho esto se actualizará la lista de dependencias en el archivo package.json, pero no los paquetes. Lo que se tiene que hacer mediante npm con el comando install
npm install
También es posible actualizar el listado de paquetes globales. Lo que se puede hacer usando el parámetro -g en el comando ncu.
ncu -g
En el caso de que existan paquetes globales que requieran actualización ncu creará un comando con el que realizar la tarea. Solamente hay que copiar este y ejecutarlo en la terminal (precediendo este de sudo tanto en Linux como macOS).
En esta entrada hemos visto un paquete de Node gracias al cual es posible actualizar las dependencias de Node a la última versión de forma automática. Algo que nos puede evitar problemas debido a fallos de seguridad conocidos de paquetes que pueden ser utilizados para atacar nuestros proyectos.
Y llegamos al final de una serie que había programado para ser de tres entradas.…
Un modelo de credit scoring no es un artefacto estático. Se construye en un momento…
En las seis entregas anteriores hemos paseado por casi todos los géneros del disparate económico:…
El Customer Lifetime Value (CLV) es, probablemente, la métrica más importante que puede calcular una…
Seguimos ampliando el laboratorio de Analytics Lane con el lanzamiento de la versión 1.4, que…
Hemos llegado a la sexta entrega de la serie. Si las cuatro primeras fueron las…
This website uses cookies.