在部署到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/

将Node.js更新到最新版本。

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

一个解决方案,就是一个黑客可以

yarn config set ignore-engines true

然而,如果你想要一个永久的解决方案是:

删除node_modules/, package-lock。Json & yarn.lock 再次运行yarn install或NPM I。

很多答案说设置标志来忽略版本错误。

更好的选择是使用它作为提醒,将您的节点版本更新到您想要安装的包所支持的最新版本。

nvm install 16.16.0  # download & install locally on your system
nvm use 16.16.0      # update current project's .nvmrc file

注意,第二个命令将更新您的本地.nvmrc,该命令指定每个项目节点的版本。

节点生态系统更新很快,即使是“长期支持”(LTS)版本也会在大约3年后停止获得支持。使用此页面查看最新的LTS发布版本,并从错误消息中确保它与正在安装的包所期望的节点版本匹配。

刚刚发现我不仅需要升级节点,还需要安装它。

将节点升级到最新版本:

brew upgrade node

安装特定版本的节点:

nvm install 17.0.0