Atom & eslint:找不到模块 'eslint-config-react-app'
Posted
技术标签:
【中文标题】Atom & eslint:找不到模块 \'eslint-config-react-app\'【英文标题】:Atom & eslint: Cannot find module 'eslint-config-react-app'Atom & eslint:找不到模块 'eslint-config-react-app' 【发布时间】:2020-02-28 21:08:40 【问题描述】:自从我在我的 create-react-app 项目中重新安装了 NPM 依赖项后,Atom 的 eslint 在每个文件的顶部都给了我这个错误:
Error while running ESLint: Cannot find module 'eslint-config-react-app'.
虽然react-scripts
的 eslint 不会引发任何警告或错误。顺便说一句,包eslint-config-react-app
已安装在node_modules
中。
我尝试重新安装 linter-eslint、atom、NPM 依赖项等。没有任何效果。
有人有想法吗?
这是我的 .eslintrc :
"extends": "react-app",
"rules":
"jsx-a11y/anchor-is-valid": 0,
"react/jsx-no-comment-textnodes": 0,
"no-unused-vars": ["warn",
args: "all",
ignoreRestSiblings: false,
argsIgnorePattern: "^_$"
]
编辑:我不知道为什么,但突然之间,错误发生了变化,现在它是每个 js 文件顶部的错误:
Error while running ESLint: Invalid regular expression flags
编辑 2
给定的解决方案都不适用于我的情况。 linter-eslint
的问题没有解决。但我现在找到了一种解决方法:使用fast-eslint
而不是linter-eslint
。效果很好。
【问题讨论】:
npm i -g babel-eslint@^7.2.3 eslint@^4.1.1 eslint-plugin-flowtype@^2.34.1 eslint-plugin-import@^2.6.0 eslint-plugin- jsx-a11y@^5.1.1 eslint-plugin-react@^7.1.0 在我使用 vscode 的情况下,这发生在我导入多个项目时。所以我关闭了所有东西,只将我的项目作为根文件夹导入 你是全局安装ESLint还是本地安装? Atom 可能正在使用全局安装的,无法解析本地安装的插件。 @Jdub 这不起作用。 @YoannesGeissler 不是我的情况,我在其他开放项目中使用 Atom 和其他 eslint 配置工作得很好。 【参考方案1】:对于尝试此操作的其他人,一种解决方案是全局安装 eslint-config-react-app 及其所有对等部门。目前是:
参考https://github.com/facebook/create-react-app/issues/3633#issuecomment-361485857
npm i -g babel-eslint@^7.2.3 eslint@^4.1.1 eslint-plugin-flowtype@^2.34.1 eslint-plugin-import@^2.6.0 eslint-plugin-jsx-a11y@^5.1.1 eslint-plugin-react@^7.1.0
【讨论】:
【参考方案2】:由于您提到问题是在您重新安装后发生的 npm 模块,它可能与 npm 依赖解析有关。所以 你可能有同一个模块的多个版本,而 atom 可能 用错了。
根据Displaying Lint Output in the Editor检查你的react-scripts版本是否为0.2.0或更高
从您的package.json
中删除所有与eslint
相关的依赖项。
这意味着删除babel-eslint
、eslint
、eslint-plugin-flowtype
、
eslint-plugin-import
、eslint-plugin-jsx-a11y
、eslint-plugin-react
等
Create react app 安装所有 linting 依赖项 引擎盖,所以你不应该手动安装它们。
删除所有 全局 eslint
相关依赖项。
通常你不需要像你可能的那样使用全局安装的 eslint 依赖项 在每个项目中都有不同的 eslint 版本。
然后,最新版本的linter-eslint 应该在您的项目中使用来自node_modules
下的正确 eslint 依赖项。
更新:根据您的 cmets 和已编辑的问题,我尝试使用 CRA 复制此内容,替换 package.json
中的依赖项,重新安装并添加以下 .eslintrc
。
请注意,我在"no-unused-vars"
的选项键周围添加了"
。
"extends": "react-app",
"rules":
"jsx-a11y/anchor-is-valid": 0,
"react/jsx-no-comment-textnodes": 0,
"no-unused-vars": ["warn",
"args": "all",
"ignoreRestSiblings": false,
"argsIgnorePattern": "^_$"
]
完成所有这些后,我无法重现该问题。
【讨论】:
我的 package.json 中没有这样的依赖项(这里是:pastebin.com/jJ5YL1NN)。正如有人让我在 cmets 中意识到的那样,开始全新的 CRA 安装不会给我任何错误,很奇怪(这也意味着全局依赖项没有任何问题)。 关于您的更新:linter-eslint 不会在 Atom 中给您一个错误?你的 linter-eslint 配置是什么?不过我的项目有问题。当我在另一个 linux 上使用另一个 Atom & Everything 安装 git clone 它时,我仍然有同样的错误。 我使用了 linter-eslint 的默认设置,除了我启用了自动修复(例如修复保存时的错误)。确保您的 Global ESLint 已禁用(这是默认设置)。以上是关于Atom & eslint:找不到模块 'eslint-config-react-app'的主要内容,如果未能解决你的问题,请参考以下文章
无法加载插件@typescript-eslint:找不到模块'eslint-plugin-@typescript-eslint'
使用 Prettier Eslint 时找不到模块“@typescript-eslint/parser”
(ESLint)在 VS 2017 反应项目中找不到模块“eslint-config-react-app”