繁体   English   中英

无法加载在“package.json » eslint-config-react-app”中声明的插件“flowtype”:找不到模块“eslint/use-at-your-own-risk”

[英]Failed to load plugin 'flowtype' declared in 'package.json » eslint-config-react-app': Cannot find module 'eslint/use-at-your-own-risk'

我使用create-react-app创建了一个新的 React 项目。

在终端npm start

立即收到此错误

无法加载在“package.json » eslint-config-react-app”中声明的插件“flowtype”:找不到模块“eslint/use-at-your-own-risk”

我该如何解决?

不是这个项目,而是如何让create-react-app无错误地创建?

发生的事情是,当您运行npm start ,它可能正在使用 eslint 进行一些检查,据我所知,如果您有 eslint 错误,create-react-app 有一些检查会破坏您的构建,因此它们是有关联的。

您在此处遇到的错误与 eslint 使用的称为子路径导出的节点功能有关,但它的支持是否命中取决于库的使用方式。 例如,当与 jest 一起使用时,这已被突出显示以引起问题。

对于flowtype eslint 插件, 是导致您出现问题的确切代码行。

您还可以阅读有关typescript eslint 插件的类似问题。


解决方案以及我什至能够理解导致此问题的原因是我昨天在 https 的eslint-plugin-flowtype的克隆中对此进行了修复(鉴于原始插件缺乏维护) : //github.com/flow-typed/eslint-plugin-ft-flow/pull/23

我会提出一个关于 create-react-app 的问题,看看他们是否愿意将插件换成新的插件,这样可以进行更多的维护并解决您遇到的问题。

我修复这个只是删除:

"eslintConfig": {
  "extends": [
    "react-app",
    "react-app/jest"
  ]
}

在 package.json

我也有同样的问题。 所以就我而言,我发现我的节点版本是 v12。 所以我知道 CRA v5.x 应该与 >= node v14 一起使用。 所以我切换到 Node v16.10.0 并解决了它。

我在 webstorm 中遇到了同样的问题。 在阅读了其他人的评论后,我的解决方案是使用 Eslint 版本 7.32.0,我最初使用的是 6.8,这导致了问题,现在它可以工作了。 我还读到不支持版本 8 或更高版本

我还发现我可以通过将我的节点版本切换到 LTS 版本来解决这个问题。

  • 我在运行节点版本 12.13.0 时遇到了这个问题
  • 切换到版本 16.14.2 为我解决了这个问题。

DISABLE_ESLINT_PLUGIN=true react-app-rewired start可以避免这个错误,并且不需要 ">= node v14" (即使 node10 也可以工作),因为只有eslint@8使用Module.createRequire ,参考 doc Upgrade to react-scripts @5 并添加 Web 工人支持和 APP PixelShapeRN 提交添加 Web 工人支持 CRA v5(和 Webpack 5)

如果目前仍有人遇到此问题,我设法通过deleting node-modules文件夹和package-lock.json文件为自己解决了此错误。 然后运行npm install 这也适用于Nodecreate-react-app @latest版本。

将节点版本更新到 v16 将起作用。

使用 nvm 命令安装更新节点版本

nvm install 16.16.0

这将安装和更新正在运行的节点版本,使用它来切换回系统中存在的任何节点版本

nvm use v14.14.0

对我来说,将我的节点版本从 12.12.0 升级到 16.0.0 很有帮助。 旧节点版本主要造成此问题。

尝试使用较新版本的节点来运行您的应用程序。 我有 12 个并尝试了 16 个,它解决了这个问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM