在部署到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"
}
}
在部署到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 .js版本(node -v)。升级Node.js最简单的方法是使用n版本管理器:
$ npm install -g n
请安装Node的最新(n个最新)或LTS (n个LTS)版本。
其他回答
我的问题用yarn—ignore-engines解决了,但我不知道为什么以及如何解决。
您需要运行以下命令,您的问题将得到解决
yarn install --ignore-engines
or
npm install --ignore-engines
这比表面上看起来更有问题。
如果您包含一个需要节点6的模块,但您有其他使用节点11的模块,您将得到这个错误!
当你使用nom/yarn/等第三方模块时,这是有问题的。要安装,因为如果不做git fork,你就无法访问这些包回购。
在我的例子中,我使用yarn工作区和包中的一些模块。工作区中的Json文件可能需要foo 1.0,而其他文件则需要foo 2.0, 1.0版本可能需要节点6,2.0版本可能需要节点14。
我发现的唯一解决方案是使用——ignore-engines,尽管这显然是其他人发布的——这并不能解决问题,只是忽略它,尽管可能会导致任何问题(节点6的代码可能无法在节点14上运行!)
我现在发现了这个问题,用一个旧代码,然而,我解决了它: 纱升级
一个解决方案,就是一个黑客可以
yarn config set ignore-engines true
然而,如果你想要一个永久的解决方案是:
删除node_modules/, package-lock。Json & yarn.lock 再次运行yarn install或NPM I。