'The engine "node" is incompatible with this module

I am getting below yarn error when deploying to AWS

error [email protected]: The engine "node" is incompatible with this module. Expected version ">=6 <7 || >=8". Got "7.0.0"

Any idea how will this be resolved?

Will this work out if I specify engine in package.json

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


Solution 1:[1]

You can try to ignore the engines :

$ yarn install --ignore-engines

OR

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

You can see all what you can ignore by running:

$ 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

Solution 2:[2]

You need to upgrade your version of node.

I ran into this same issue.

If you used Homebrew run:

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

If you use nvm run:

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

For the above step go to https://nodejs.org/en/download/

Grab a version which satisfies the conditionals in your error, the latest version should work.

More Detailed Walkthrough: https://flaviocopes.com/how-to-update-node/

Solution 3:[3]

A fix that is a hack can be

yarn config set ignore-engines true

However if you want a permanent solution is to :

  1. delete node_modules/, package-lock.json & yarn.lock
  2. run yarn install or npm i again.

Solution 4:[4]

Add --ignore-engines to the suffix while installing the package like this:

yarn add <package_name> --ignore-engines

Solution 5:[5]

My problem was solved with yarn --ignore-engines, but I'm not sure why and how.

Solution 6:[6]

I had a similar issue on Ubuntu even after installing Nodejs many times with the latest version, it was showing always the same old Nodejs version; I discovered it was installing the similar old Debian package each time, even after executing the apt-get update command

Finally, I got it to work by purging the old nodeJs then adding different repository source, and installing nodeJs normally with the new distribution as follows:

sudo apt-get purge --auto-remove nodejs
curl -fsSL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install -y nodejs

Please find the list of all NodeJs distribution below https://github.com/nodesource/distributions/blob/master/README.md

You may find other ways of doing the update, but this one worked for me.

Solution 7:[7]

You can try:

  1. Open you package.json
  2. find "engines": { "node": "14.x" }
  3. change 14.x -> >=14.x

Solution 8:[8]

What worked for me was to update Node to the latest version. Following any tutorial depending on your OS.

Upgrading Node.js to latest version

Solution 9:[9]

I recommend doing what the error message says and checking your Node.js version (node -v). The easiest way to upgrade Node.js is with the n version manager:

$ npm install -g n

Then install the latest (n latest) or LTS (n lts) version of Node.

Solution 10:[10]

sudo npm cache clean -f
sudo npm install -g n
sudo n 10.22.1
node -v => Should be on 10.22.1

type what version of node you require as I have just put 10.22.1 as an example

Solution 11:[11]

I do NOT recommend using this:

% yarn install --ignore-engines

It avoids the issue instead of solving it.
A possible solution would be to update your node to version > 8.0.

% brew upgrade node

Or you could try installing multiple versions of node by using nodenv, in case you need them for other projects.

% brew install nodenv
% nodenv init
# Load nodenv automatically by appending
# the following to ~/.zshrc:

eval "$(nodenv init -)"
% nodenv install 6.0.0 //or some other version

Solution 12:[12]

I found this problem now, with an old code, however, I solved it with: yarn upgrade

Solution 13:[13]

Just found that not only I need to upgrade the node, but also need to install it.

This upgrades node to latest version:

brew upgrade node

This install the specific version of node:

nvm install 17.0.0

Solution 14:[14]

Update your Node.js to the latest version.

https://nodejs.org/en/download/