版本

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 或等效的包管理器命令
  • 检查配置文件中的名称是否与配置包的名称匹配

资源

有关更多信息,请参阅

更改语言