npm verifica y actualiza el paquete si es necesario
Necesitamos integrar Karma test runner en TeamCity y para eso me gustaría darles a los ingenieros de sistemas un pequeño script (powershell o lo que sea) que:
seleccione el número de versión deseado de algún archivo de configuración (supongo que puedo ponerlo como comentario directamente en
karma.conf.js
)compruebe si la versión definida de karma runner está instalada en el repositorio global de npm
si no es así, o la versión instalada es anterior a la deseada: elija e instale la versión correcta
ejecutarlo:
karma start .\Scripts-Tests\karma.conf.js --reporters teamcity --single-run
Entonces, mi verdadera pregunta es: "¿cómo se puede verificar un script, si se desea tener instalada la versión del paquete?". ¿Deberías hacer la verificación o es seguro simplemente llamar npm -g install
cada vez?
No quiero comprobar e instalar siempre la última versión disponible, porque otros valores de configuración pueden volverse incompatibles.
Para comprobar si algún módulo de un proyecto es "antiguo":
npm outdated
' obsoleto ' verificará todos los módulos definidos package.json
y verá si hay una versión más nueva en el registro de NPM.
Por ejemplo, digamos xml2js 0.2.6
(ubicado en node_modules
el proyecto actual) está desactualizado porque existe una versión más nueva (0.2.7). Tu verias:
xml2js@0.2.7 node_modules/xml2js current=0.2.6
Para actualizar todas las dependencias, si está seguro, esto es deseable:
npm update
O bien, para actualizar una única dependencia como xml2js
:
npm update xml2js
Para actualizar package.json
los números de versión, agregue la --save
bandera:
npm update --save
npm outdated
identificará los paquetes que deben actualizarse y npm update <package name>
se puede utilizar para actualizar cada paquete. Pero antes de [email protected] , npm update <package name>
no se actualizarán las versiones en su package.json, lo cual es un problema.
El mejor flujo de trabajo es:
- Identificar paquetes obsoletos con
npm outdated
- Actualice las versiones en su paquete.json
- Ejecute
npm update
para instalar las últimas versiones de cada paquete.
Consulte npm-check-updates
para ayudar con este flujo de trabajo.
- Instale npm-check-updates con
npm i npm-check-updates -g
- Ejecute
npm-check-updates
para enumerar qué paquetes están desactualizados (básicamente lo mismo que ejecutarnpm outdated
) - Ejecute
npm-check-updates -u
para actualizar todas las versiones en su paquete.json (esta es la salsa mágica) - Ejecute
npm update
como de costumbre para instalar las nuevas versiones de sus paquetes según el paquete.json actualizado.
O más simplemente usando npx
, para que no tengas que instalar nada globalmente:
npx npm-check-updates -u
npm install
También hay un módulo "nuevo" llamado npm-check
:
verificación npm
Compruebe si hay dependencias obsoletas, incorrectas y no utilizadas.
También proporciona una manera interactiva conveniente de actualizar las dependencias con npm-check -u
.