Node.js “发动机”;节点";与此模块不兼容
部署到AWS时,我遇到以下错误Node.js “发动机”;节点";与此模块不兼容,node.js,npm,dependencies,yarnpkg,Node.js,Npm,Dependencies,Yarnpkg,部署到AWS时,我遇到以下错误 error fs-extra@7.0.1: The engine "node" is incompatible with this module. Expected version ">=6 <7 || >=8". Got "7.0.0" 您可以尝试忽略引擎: $spirn安装--忽略引擎 或 $spirn全局添加--忽略引擎 通过运行以下命令,您可以看到所有可以忽略的内容: $ yarn help | grep -- --ignore --
error fs-extra@7.0.1: The engine "node" is incompatible with this module. Expected version ">=6 <7 || >=8". Got "7.0.0"
您可以尝试忽略引擎:
$spirn安装--忽略引擎
或
$spirn全局添加--忽略引擎
通过运行以下命令,您可以看到所有可以忽略的内容:
$ 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
您需要升级节点的版本 我遇到了同样的问题 如果您使用了自制运行:
brew update#此操作将Homebrew更新为最新版本
brew升级节点
如果使用nvm运行:
nvm当前节点-v#检查当前版本
nvm安装#示例:nvm安装12.14.1
有关上述步骤,请转至
获取一个满足错误条件的版本,最新版本应该可以工作
更详细的演练:我的问题是用
纱线解决的--忽略引擎,但我不确定原因和方式。一个黑客补丁可以
yarn config set ignore-engines true
但是,如果您想要永久解决方案,请:
删除节点_modules/,package-lock.json和warn.lock
再次运行纱线安装或npm i
按如下方式安装软件包时,在后缀中添加--忽略引擎
:
纱线添加--忽略引擎
我现在用一个旧代码发现了这个问题,但是,我用以下方法解决了它:
纱线升级
sudo npm cache clean -f
sudo npm install -g n
sudo n 10.22.1
node -v => Should be on 10.22.1
键入您需要的node版本,因为我刚刚以10.22.1为例我在Ubuntu上遇到了类似问题,即使在使用最新版本多次安装Nodejs之后,它始终显示相同的旧Nodejs版本;我发现它每次都在安装类似的旧Debian包,即使是在执行apt get update命令之后
最后,我通过清除旧的NodeJ,然后添加不同的存储库源代码,并使用新的发行版正常安装NodeJ,使其正常工作,如下所示:
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
请在下面找到所有节点分发的列表
您可能会找到其他更新方法,但这一种对我有效。对我有效的方法是将Node更新到最新版本。根据您的操作系统,遵循任何教程
是的,由于包版本和节点引擎之间不兼容,您会遇到此错误。@ShubhamSharma,谢谢。如果我在package.json中指定引擎块,那么我不会得到任何错误,对吗?我将尝试一下,如果您需要特定而非最新版本的node,您可以这样做:brew update;brew搜索节点;brew取消链接节点;brew安装node@12
永久解决方案对我有效!删除Thread.lock并重新安装Thread对我来说很有效,而且似乎是最明智的解决方案——我克隆了一个多年未接触过的repo,此后我的节点版本已经升级——错误是因为Thread.lock告诉Thread需要某个节点版本——在我的例子中是“预期版本”“>=4提供简单的解决方案不是问题,但您的答案应该更完整。例如,您可以提供一个完整的一步一步的答案来完成一个更完整的解决方案。谢谢:)我不建议忽略任何内容,但是,在本地,这一切都很好:d此用户正在尝试使用Thread管理他们的包。坚持用他们正在使用的工具来回答这个问题可能是个好主意。我不是js专家,但我知道混合纱线和npm会导致奇怪的行为。这对我来说也很有用
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