Algunos proyectos a menudo requieren versiones específicas de programas instalados localmente. Puede ser una versión específica de node.js o npm (por ejemplo, npm @ 7 con soporte para espacios de trabajo), o una base de datos específica, administrador de paquetes y otras utilidades que no se pueden instalar desde npm . A menudo envío los comandos a los chats, readme o wiki.
npm le permite declarar las versiones requeridas de node y npm en el archivo package.json , pero no las verifica de ninguna manera. Para solucionar este problema y ampliar la lista de herramientas, se escribió un pequeño paquete npm engine-version . El paquete funciona de manera muy simple: primero, lee la descripción del software requerido de package.json , y luego mira para ver si el programa está instalado y si la versión instalada coincide con la descrita. Y si las comprobaciones fallan, se muestra una lista de errores.
Para comenzar a usar el paquete, primero debe instalar el paquete desde npm :
npm install --save-dev engine-version
Describa la lista de herramientas necesarias en package.json ( formato de descripción ) :
{
...
"engines": {
"node": ">=16.0.0",
"npm": "~7.0.0",
"mysql": "*"
},
...
}
Agregue un script para iniciar la verificación en package.json , por ejemplo, antes del proceso de compilación del paquete:
{
...
"scripts": {
"prebuild": "engine-version",
"build": "my_build_script"
},
...
}
Además, está previsto hacer:
Comete errores más informativos
Configurable con argumentos (advertencias en lugar de errores)
Agregue tipos alternativos de verificación de versiones para programas populares que no entienden el argumento --version (ahora la versión instalada se verifica llamando al programa con la opción --version en el proceso hijo)