如何解决Eslint插件歧义?

问题描述 投票:0回答:1

我有一个 eslint 配置,它扩展了其他一些配置。这些包依赖于“@typescript/eslint-plugin”,但它们使用不同的版本。

  extends: ['airbnb', 'airbnb-typescript', '@some-private-eslint-cfg'],

这会导致Eslint无法启动。它抱怨不明确,无法确定使用哪个版本。

错误:

Oops! Something went wrong! :(

ESLint: 8.19.0

ESLint couldn't determine the plugin "@typescript-eslint" uniquely.

Please remove the "plugins" setting from either config or remove either plugin installation.

但是,由于我无法编辑我正在扩展的那些包的配置,因此我无法将其从插件[]中删除,也无法卸载它。

如何解决这个问题?理想情况下,我想在我的顶级 .eslintrc 中添加一些内容来处理这个问题。这可能吗?

eslint typescript-eslint eslint-config-airbnb
1个回答
0
投票

当相关插件有多个版本时,就会出现此问题。 ESLint 无法“唯一”地解析它意味着它找到了多个(因此,不是“唯一”)版本。

通过升级到 typescript-eslint@6 解决了这个问题。请参阅 解析错误:DeprecationError:'originalKeywordKind' 自 v5.0.0 起已被弃用,无法再使用 如果您看到此错误,则意味着在您安装的软件包中的某个位置,存在意外的 typescript-eslint 版本。尝试:

将所有提及 ESLint 和/或 TypeScript 的包的版本升级到最新版本
  • 清除您的
  • node_modules/
  • 目录并重新安装
    清除软件包管理器使用的任何锁定文件(
  • package-lock.json
  • pnpm-lock.yaml
    yarn.lock
    等)并重新安装
    
    
  • 如果所有其他方法都失败,您可以为您选择的包管理器设置

package.json

overrides
 或等效功能 - 以确保锁定文件中提到的所有 typescript-eslint 包都设置为 v6。但这确实没有必要。大多数时候,这个问题是由过时的软件包引起的。

© www.soinside.com 2019 - 2024. All rights reserved.