版本

ESLint 找不到插件 …

症状

使用 旧版 ESLint 配置系统 时,您可能在安装依赖项后运行 ESLint 时遇到此错误。

ESLint couldn't find the plugin "${pluginName}".

(The package "${pluginName}" was not found when loaded as a Node module from the directory "${resolvePluginsRelativeTo}".)

It's likely that the plugin isn't installed correctly. Try reinstalling by running the following:

    npm install ${pluginName}@latest --save-dev

The plugin "${pluginName}" was referenced from the config file in "${importerName}".

原因

旧版 ESLint 配置文件 通过其包名称指定可共享的配置。该包名称传递给 Node.js 的 require(),它会在本地 node_modules/ 目录下查找包。例如,以下 ESLint 配置将首先尝试加载位于 node_modules/eslint-plugin-yours 的模块。

module.exports = {
    extends: ["plugin:eslint-plugin-yours/config-name"],
};

如果在任何搜索的 node_modules/ 中都找不到该包,ESLint 将打印上述错误。

出现这种情况的常见原因包括

  • 未运行 npm install 或等效的包管理器命令
  • 插件的区分大小写的名称输入错误

插件名称变体

请注意,eslint-plugin- 插件名称前缀可以省略,以保持简洁,例如 extends: ["yours"]

@ npm 范围包eslint-plugin- 前缀放在组织范围之后,例如 extends: ["@org/yours"]@org/eslint-plugin-yours 加载。

解决方案

解决此问题的常见方法包括

  • 将所有包的所有版本升级到最新版本
  • 在您的 package.json 中将插件添加为 devDependency
  • 运行 npm install 或等效的包管理器命令
  • 检查您的配置文件中的名称是否与插件包的名称匹配

资源

有关更多信息,请参阅

更改语言