ESLint 无法找到要扩展的配置 …
症状
在使用 旧版 ESLint 配置系统 时,您可能在安装依赖项后运行 ESLint 时看到此错误。
ESLint couldn't find the config "${configName}" to extend from. Please check that the name of the config is correct.
The config "${configName}" was referenced from the config file in "${importerName}".
原因
ESLint 配置文件在 extends
数组中通过其包名指定可共享的配置。该包名传递给 Node.js 的 require()
,它在本地 node_modules/
目录下查找包。例如,以下 ESLint 配置将首先尝试加载位于 node_modules/eslint-config-yours
的模块。
module.exports = {
extends: ["eslint-config-yours"],
};
当您尝试从配置扩展但未在任何搜索的 node_modules/
中找到该配置的包时,就会输出此错误。
发生这种情况的常见原因包括:
- 未运行
npm install
或等效的包管理器命令。 - 输入包和/或配置的区分大小写的名称错误。
配置名称变体
请注意,ESLint 支持几种配置名称格式。
- 为了简洁起见,可以省略
eslint-config-
配置名称前缀,例如extends: ["yours"]
@
npm 作用域包 将eslint-config-
前缀放在组织作用域之后,例如extends: ["@org/yours"]
从@org/eslint-config-yours
加载。
plugin:
前缀表示配置是从共享插件加载的,例如extends: [plugin:yours/recommended]
从eslint-plugin-yours
加载。
解决方案
解决此问题的常见方法包括:
- 将所有包的所有版本升级到最新版本。
- 在您的
package.json
中将配置添加为devDependency
。 - 运行
npm install
或等效的包管理器命令。 - 检查配置文件中的名称是否与配置包的名称匹配。
资源
有关更多信息,请参阅:
- 旧版 ESLint 配置文件,了解旧版 ESLint 配置格式的文档。
- 旧版 ESLint 配置文件 > 使用可共享的配置文件包,了解使用可共享配置的文档。
- 共享配置,了解如何定义独立的共享配置的文档。
- 创建插件 > 插件中的配置,了解如何在插件中定义共享配置的文档。