在部署到AWS时,我得到了以下纱线错误

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

你知道怎么解决吗?

如果我在package.json中指定引擎,这将奏效吗

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

当前回答

您需要升级node的版本。

我也遇到了同样的问题。

如果你使用Homebrew运行:

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

如果你使用nvm运行:

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

以上步骤请访问https://nodejs.org/en/download/

获取一个满足错误中的条件的版本,最新的版本应该可以工作。

更详细的演练:https://flaviocopes.com/how-to-update-node/

其他回答

我在Ubuntu上也遇到了类似的问题,即使在最新版本安装了很多次Nodejs之后,它总是显示相同的旧Nodejs版本;我发现它每次都在安装类似的旧Debian包,甚至在执行apt-get update命令之后也是如此

最后,我通过清除旧的nodeJs,然后添加不同的存储库源代码,并按照如下方式正常安装新发行版的nodeJs:

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

请在下面找到所有NodeJs发行版的列表 https://github.com/nodesource/distributions/blob/master/README.md

您可能会找到其他方法进行更新,但这个方法对我很有用。

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

请输入您需要的节点版本,我刚刚以10.22.1为例

你可以试着忽略引擎:

$ yarn install—忽略引擎

OR

$ yarn global添加<你的应用>—忽略引擎

通过运行以下命令,你可以看到所有你可以忽略的内容:

$ 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

你可以试试:

打开package.json 找到 "engines": {"node": "14.单击“确定”。x "} 改变14。X -> >=14.x

您需要升级node的版本。

我也遇到了同样的问题。

如果你使用Homebrew运行:

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

如果你使用nvm运行:

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

以上步骤请访问https://nodejs.org/en/download/

获取一个满足错误中的条件的版本,最新的版本应该可以工作。

更详细的演练:https://flaviocopes.com/how-to-update-node/