'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 :
- delete node_modules/, package-lock.json & yarn.lock
- 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:
- Open you
package.json
- find
"engines": { "node": "14.x" }
- 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.
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.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow