错误 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)引擎“节点”与此模块不兼容。预期版本“...”