在部署到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引擎(遗留项目、客户端需求等)。在这种情况下,我发现的解决方案是使用“选择性依赖解析”来降级有问题的版本,如Yarn中所述:

https://classic.yarnpkg.com/lang/en/docs/selective-version-resolutions/

{
  "name": "project",
  "version": "1.0.0",
  "dependencies": {
    "left-pad": "1.0.0",
    "c": "file:../c-1",
    "d2": "file:../d2-1"
  },
  "resolutions": {
    "d2/left-pad": "1.1.1",
    "c/**/left-pad": "^1.1.2"
  }
}

注意“决心”部分。您可以强制这些包使用降级版本(与您的旧Node引擎兼容)。

其他回答

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

将节点升级到最新版本:

brew upgrade node

安装特定版本的节点:

nvm install 17.0.0

你可以试试:

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

我现在发现了这个问题,用一个旧代码,然而,我解决了它: 纱升级

在安装包时,像这样在后缀中添加——ignore-engines:

Yarn add <package_name>——ignore-engines

升级您的节点版本,此问题将得到解决