yarn 1 · Build et types
Le message
The engine "node" is incompatible with this module. Expected version ">=20"
Ce que cela veut dire
Le paquet que vous installez déclare dans le champ engines les versions de Node dont il a besoin, et la vôtre sort de cette plage. Le Expected et le Got qui suivent mettent l'exigence et votre version côte à côte : ces deux lignes suffisent — et si cela n'arrive qu'en CI, sa version de Node diffère de celle de votre machine. Monter de version avec nvm install 20 && nvm use 20 est la réponse directe, et inscrire la même version dans .nvmrc et la configuration CI les empêche de divergier à nouveau. Le --ignore-engines de yarn permet de passer outre, mais il supprime l'avertissement sans créer la compatibilité : si le paquet emploie une syntaxe plus récente, il échouera à l'exécution sur une erreur de syntaxe. npm signale la même situation par un avertissement EBADENGINE et ne bloque pas l'installation par défaut.
Le correctif
nvm install 20 && nvm use 20- Émis par
- yarn 1
- Build et types
- 10
Les erreurs de build sont un outil qui refuse avant toute exécution : elles ne cassent rien à l'instant où elles surgissent, mais elles posent deux questions — corrigerez-vous le type ou le chemin pour coller à la forme réelle, ou ferez-vous passer cette seule ligne avec un as any ou un commentaire de suppression ? Et c'est ici que se révèlent pour la première fois les choses qui ne sont vraies que sur votre machine : la casse, les extensions et les variables d'environnement.
Lire un message d’erreur
- Lisez à partir de la première ligne. Plus on descend, plus il s’agit des entrailles de l’outil ; la cause est généralement en haut.
- S’il y a un fichier et un numéro de ligne, commencez là — pas la première image de la pile, mais la ligne la plus haute qui nomme un fichier de vous.
- Cherchez le message tel quel, mais retirez d’abord vos chemins et vos noms de variables : c’est cela qui empêche la correspondance.
- La même situation se formule autrement selon la version de l’outil. Si les résultats sonnent faux, ajoutez le numéro de version.
- Avant de coller un correctif, vérifiez ce qu’il jette. Certains sont irréversibles.
Questions fréquentes
Q. Que veut dire « The engine "node" is incompatible with this module. Expected version ">=20" » ?
Le paquet que vous installez déclare dans le champ engines les versions de Node dont il a besoin, et la vôtre sort de cette plage. Le Expected et le Got qui suivent mettent l'exigence et votre version côte à côte : ces deux lignes suffisent — et si cela n'arrive qu'en CI, sa version de Node diffère de celle de votre machine. Monter de version avec nvm install 20 && nvm use 20 est la réponse directe, et inscrire la même version dans .nvmrc et la configuration CI les empêche de divergier à nouveau. Le --ignore-engines de yarn permet de passer outre, mais il supprime l'avertissement sans créer la compatibilité : si le paquet emploie une syntaxe plus récente, il échouera à l'exécution sur une erreur de syntaxe. npm signale la même situation par un avertissement EBADENGINE et ne bloque pas l'installation par défaut.
Q. Comment le corriger ?
nvm install 20 && nvm use 20 — avant de le lancer, vérifiez plus haut ce que cette commande jette.
Q. Quel outil émet cela ?
yarn 1. Cela relève de Build et types, et le message compte 11 mots.