我有一个 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@6 解决了这个问题。请参阅 解析错误:DeprecationError:'originalKeywordKind' 自 v5.0.0 起已被弃用,无法再使用。 如果您看到此错误,则意味着在您安装的软件包中的某个位置,存在意外的 typescript-eslint 版本。尝试:
将所有提及 ESLint 和/或 TypeScript 的包的版本升级到最新版本
node_modules/
package-lock.json
pnpm-lock.yaml
、yarn.lock
等)并重新安装
overrides
或等效功能 - 以确保锁定文件中提到的所有 typescript-eslint 包都设置为 v6。但这确实没有必要。大多数时候,这个问题是由过时的软件包引起的。