错误 eslint@5.6.0:引擎“节点”与此模块不兼容。尝试创建反应应用程序时

Posted

技术标签:

【中文标题】错误 eslint@5.6.0:引擎“节点”与此模块不兼容。尝试创建反应应用程序时【英文标题】:error eslint@5.6.0: The engine "node" is incompatible with this module. when trying to create-react-app 【发布时间】:2019-04-01 05:08:14 【问题描述】:

我正在尝试创建一个 React 应用程序,但我在控制台中收到以下错误。

Installing packages. This might take a couple of minutes.
Installing react, react-dom, and react-scripts...

yarn add v1.10.1
info No lockfile found.
[1/4] ????  Resolving packages...
warning react-scripts > eslint > file-entry-cache > flat-cache > circular-   json@0.3.3: CircularJSON is in maintenance only, flatted is its successor.
[2/4] ????  Fetching packages...
error eslint@5.6.0: The engine "node" is incompatible with this module.    Expected version "^6.14.0 || ^8.10.0 || >=9.10.0". Got "9.5.0"
error Found incompatible module
info Visit https://yarnpkg.com/en/docs/cli/add for documentation about this     command.

Aborting installation.
yarnpkg add --exact react react-dom react-scripts --cwd      /Volumes/server2/Desktop/javascript/birdcage has failed.

  Deleting generated file... package.json
  Deleting birdcage / from /Volumes/server2/Desktop/JavaScript
  Done.

我尝试过brew upgrade node,但这似乎不起作用。任何有关如何解决此问题的想法将不胜感激。

【问题讨论】:

【参考方案1】:

我遇到了同样的问题,尝试在 create react app 推荐的末尾添加“--use-npm”。

create-react-app appname --use-npm

【讨论】:

【参考方案2】:

临时修复之一是运行yarn install --ignore-engines

【讨论】:

好建议!我在哪里可以设置引擎标志?我在 eslint.rc 文件中没有设置,所以必须设置为默认值。【参考方案3】:

我遇到了同样的问题,只是这样做解决了问题:

 npm install node@latest

【讨论】:

【参考方案4】:

我重新安装了 node 并更新了 xcode 开发工具。此外,在运行 Mojave 的计算机上重新安装 React。

【讨论】:

【参考方案5】:

假设安装了 nvm,使用它来查看您正在使用的节点版本,然后使用它更改为更高版本。

【讨论】:

【参考方案6】:

您可以使用nvm use <version> 更改版本,然后重试

【讨论】:

【参考方案7】:

在我的 Ubuntu 18.04 中安装了 NVM 未列出的操作系统的本机版本。

我删除了它然后我跑了:

首先运行,nvm install 14.5.0 然后运行,nvm use 14.5.0

并且安装正常完成。

【讨论】:

【参考方案8】:

尝试卸载 yarn 并通过 npm 安装。

    npm i create-react-app -g create-react-app yourappname 确保已安装该节点!

【讨论】:

【参考方案9】:

当我使用 npx 和 yarn 将路由器插件添加到 vue-cli 时,我遇到了同样的问题.. 在 pyhton 虚拟环境中,我已将节点版本从 8.xx 更新到 16.xx 并使用命令 nvm use 16.xx 但问题仍然存在..我实际上是以 root 身份执行命令..所以 nvm 使用节点版本为 8.xx只有..

很久之后,我意识到用 sudo 执行命令是问题所在,然后以普通用户身份执行...

这个解决方案对我有用!!!

【讨论】:

【参考方案10】:

正如警告所说,我通过 nvm 将节点更新为所需的版本。对我来说,拥有最新的节点 lts 版本就足够了。

nvm install "lts/*" --reinstall-packages-from="$(nvm current)"

但是升级node后,yarn还是报错。

问题是 npm 仍然从先前节点版本的旧 .bin 路径执行。 nvm 还会在安装的节点版本的相应本地 .bin 文件夹中安装最新版本的 npm

然后我使用了以下命令,

nvm install-latest-npm: 尝试在当前节点版本上升级到最新的工作 npm

nvm install --latest-npm: 安装后,尝试在给定节点版本上升级到最新的工作 npm

在此之后,它可以正常工作。

参考: How can I change the version of npm using nvm?

【讨论】:

以上是关于错误 eslint@5.6.0:引擎“节点”与此模块不兼容。尝试创建反应应用程序时的主要内容,如果未能解决你的问题,请参考以下文章

引擎“节点”与此模块不兼容。预期版本“X.X.X”。得到“X.X.X”

错误 style-loader@3.2.1:引擎“节点”与此模块不兼容。预期版本 ">= 12.13.0"。得到“10.19.0”

引擎“节点”与此模块不兼容。预期版本“12.x”。得到“14.8.0”

(React on Rails)引擎“节点”与此模块不兼容。预期版本“...”

将 Tailwind 安装到 Ruby on Rails 6 |引擎“节点”与此模块不兼容

package.json 中的节点引擎 8.x 或 10.x