yarn 1 · Compilación y tipos
El mensaje
The engine "node" is incompatible with this module. Expected version ">=20"
Qué significa
El paquete que instalas declara en el campo engines las versiones de Node que necesita, y la que usas queda fuera de ese rango. El Expected y el Got que siguen ponen el requisito y tu versión lado a lado, así que con esas dos líneas basta; y si esto solo pasa en CI, su versión de Node difiere de la de tu máquina. Actualizar con nvm install 20 && nvm use 20 es la respuesta directa, y escribir la misma versión en .nvmrc y en la configuración de CI evita que vuelvan a separarse. El --ignore-engines de yarn te deja pasar, pero borra el aviso en lugar de crear compatibilidad: si el paquete usa sintaxis nueva, fallará en ejecución con un error de sintaxis. npm informa lo mismo como un aviso EBADENGINE y por defecto no impide la instalación.
El arreglo
nvm install 20 && nvm use 20- Lo imprime
- yarn 1
- Compilación y tipos
- 10
Los errores de compilación son una herramienta que se niega antes de que nada se ejecute, así que no rompen nada en el momento en que aparecen, pero plantean dos preguntas: ¿arreglarás el tipo o la ruta para que coincidan con la forma real, o empujarás esa única línea con un as any o un comentario de supresión? Y es aquí donde las cosas que solo son ciertas en tu máquina —mayúsculas, extensiones y variables de entorno— se muestran por primera vez.
Cómo leer un mensaje de error
- Lee desde la primera línea. Cuanto más abajo, más son las tripas de la herramienta; la causa suele estar arriba.
- Si hay un archivo y un número de línea, empieza ahí: no el marco superior de la pila, sino la línea más alta que nombre un archivo tuyo.
- Busca el mensaje literal, pero quita antes tus rutas y nombres de variables: eso es lo que impide que la búsqueda coincida.
- La misma condición se redacta distinto según la versión. Si los resultados no cuadran, añade el número de versión.
- Antes de pegar un arreglo, comprueba qué descarta. Algunos no se pueden deshacer.
Preguntas frecuentes
Q. ¿Qué significa «The engine "node" is incompatible with this module. Expected version ">=20"»?
El paquete que instalas declara en el campo engines las versiones de Node que necesita, y la que usas queda fuera de ese rango. El Expected y el Got que siguen ponen el requisito y tu versión lado a lado, así que con esas dos líneas basta; y si esto solo pasa en CI, su versión de Node difiere de la de tu máquina. Actualizar con nvm install 20 && nvm use 20 es la respuesta directa, y escribir la misma versión en .nvmrc y en la configuración de CI evita que vuelvan a separarse. El --ignore-engines de yarn te deja pasar, pero borra el aviso en lugar de crear compatibilidad: si el paquete usa sintaxis nueva, fallará en ejecución con un error de sintaxis. npm informa lo mismo como un aviso EBADENGINE y por defecto no impide la instalación.
Q. ¿Cómo se arregla?
nvm install 20 && nvm use 20 — antes de ejecutarlo, mira arriba qué descarta este comando.
Q. ¿Qué herramienta lo imprime?
yarn 1. Está en Compilación y tipos y el mensaje tiene 11 palabras.