105 votes

Le moteur "node" est incompatible avec ce module.

J'obtiens l'erreur suivante lors du déploiement vers AWS

error fs-extra@7.0.1: The engine "node" is incompatible with this module. Expected version ">=6 <7 || >=8". Got "7.0.0"

Une idée de la manière dont ce problème sera résolu ?

Cela fonctionnera-t-il si je spécifie le moteur dans le package.json ?

{ 
  "engines" : { 
    "node" : ">=8.0.0" 
  }
}

0 votes

Oui, vous obtenez cette erreur en raison d'une incompatibilité entre la version du paquet et le moteur de nœuds.

0 votes

@ShubhamSharma, Merci. Si je spécifie le bloc moteur dans le package.json, je n'aurai pas d'erreur, n'est-ce pas ? Je vais essayer ceci alors

123voto

user1848257 Points 1241

Vous pouvez essayer d'ignorer les moteurs :

$ yarn install --ignore-engines

OU

$ yarn global add <your app> --ignore-engines

Vous pouvez voir tout ce que vous pouvez ignorer en courant :

$ yarn help | grep -- --ignore

--ignore-scripts     don't run lifecycle scripts
--ignore-platform    ignore platform checks
--ignore-engines     ignore engines check
--ignore-optional    ignore optional dependencies

64voto

David Arango Points 648

Vous devez mettre à jour votre version de nœud .

J'ai rencontré le même problème.

Si vous avez utilisé Homebrew courir :

brew update  # This updates Homebrew to latest version
brew upgrade node

Si vous utilisez nvm courir :

nvm current node -v  # Checks your current version
nvm install <version>  # Example: nvm install 12.14.1

Pour l'étape ci-dessus, rendez-vous sur https://nodejs.org/en/download/

Prenez une version qui satisfait aux conditions de votre erreur, la dernière version devrait fonctionner.

Marche à suivre plus détaillée : https://flaviocopes.com/how-to-update-node/

46voto

Une réparation qui est un hack peut être

yarn config set ignore-engines true

Cependant, si vous voulez une solution permanente, il faut :

  1. supprimer node_modules/, package-lock.json & yarn.lock
  2. Exécutez à nouveau yarn install ou npm i.

1 votes

La solution permanente a fonctionné pour moi !

1 votes

Supprimer yarn.lock et refaire yarn install a fonctionné pour moi, et semble être la solution la plus raisonnable - j'ai cloné un repo que je n'avais pas touché depuis des années, et ma version de node a été mise à jour depuis - l'erreur était due au fait que yarn.lock disait à yarn de s'attendre à une certaine version de node - dans mon cas, 'Expected version ">=4 <=9". Got "16.1.0"' - donc supprimer yarn.lock.

10voto

maryam Points 119

Mon problème a été résolu avec yarn --ignore-engines mais je ne suis pas sûr du pourquoi et du comment.

10voto

cmcodes Points 505

Ajouter --ignore-engines au suffixe lors de l'installation du paquet comme ceci :

yarn add <package_name> --ignore-engines

0 votes

Merci pour cela :) Je ne recommanderais pas d'ignorer quoi que ce soit, mais bon, en local tout est bon :D

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X