ESLint 无法唯一确定插件“导入”

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

我正在尝试将代码提交到 git 并遇到此问题:

Oops! Something went wrong! :(

ESLint: 8.50.0

ESLint couldn't determine the plugin "import" uniquely.

- /Users/krish/Documents/frontend/node_modules/.pnpm/[email protected]\_@[email protected][email protected][email protected][email protected]/node_modules/eslint-plugin-i/lib/index.js (loaded in ".eslintrc.cjs » @antfu/eslint-config » @antfu/eslint-config-vue » @antfu/eslint-config-ts » @antfu/eslint-config-basic » plugin:import/recommended")

- /Users/krish/Documents/frontend/node_modules/.pnpm/[email protected]\_@[email protected][email protected][email protected][email protected]/node_modules/eslint-plugin-i/lib/index.js (loaded in ".eslintrc.cjs » @antfu/eslint-config » @antfu/eslint-config-vue » @antfu/eslint-config-ts » @antfu/eslint-config-basic » ./standard")

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

If you still can't figure out the problem, please stop by https://eslint.org/chat/help to chat with the team.

我该如何解决这个问题?

我尝试使用不同的版本,在

package.json
中进行更改,但仍然出现问题。

{
  "name": "quizizz",
  "version": "0.0.0",
  "private": true,
  "workspaces": [
    "apps/*",
    "packages/*"
  ],
  "packageManager": "[email protected]",
  "engines": {
    "node": ">=18.0.0"
  },
  "scripts": {
    "build": "turbo run build",
    "build-join": "turbo run build --filter=join",
    "build-practice": "turbo run build --filter=practice",
    "build-practice-dev": "turbo run build-dev --filter=practice",
    "dev": "FORCE_COLOR=1 turbo run dev ",
    "dev-admin": "FORCE_COLOR=1 turbo run dev --force --filter=admin --log-prefix=none",
    "dev-join": "FORCE_COLOR=1 turbo run dev --force --filter=join",
    "dev-practice": "FORCE_COLOR=1 turbo run dev --filter=practice",
    "dev-qtility": "FORCE_COLOR=1 turbo run dev --filter=qtility",
    "dev:support-hub": "FORCE_COLOR=1 turbo run dev --filter=support-hub... --log-prefix=none",
    "local": "FORCE_COLOR=1 VITE_NODE_ENV=local turbo run dev",
    "local-admin": "FORCE_COLOR=1 VITE_NODE_ENV=local turbo run dev --filter=admin --log-prefix=none",
    "lint": "turbo run lint",
    "lint:ci": "turbo run lint:ci",
    "lint:ci-diff": "turbo run lint:ci-diff",
    "format": "prettier --write \"**/*.{ts,tsx,md}\"",
    "commit": "cz",
    "prepare": "husky install",
    "docs:build": "turbo run docs:build --filter=docs",
    "docs:dev": "turbo run dev --filter=docs",
    "admin-e2e": "sh ./scripts/run-admin-e2e.sh",
    "join-e2e": "sh ./scripts/run-join-e2e.sh",
    "diff-test": "sh ./scripts/run-diff-tests.sh",
    "check-circular": "sh ./scripts/check-circular-dependencies.sh"
  },
  "dependencies": {
    "@aws-sdk/client-s3": "^3.635.0",
    "admin": "^1.4.1",
    "cheerio": "^1.0.0"
  },
  "devDependencies": {
    "@playwright/test": "1.44.1",
    "@snyk/github-codeowners": "1.1.0",
    "@types/node": "^22.4.2",
    "commitizen": "4.3.0",
    "cz-conventional-changelog": "3.3.0",
    "danger": "^12.3.3",
    "eslint": "8.50.0",
    "eslint-config-custom": "workspace:eslint-config-custom",
    "git-commit-msg-linter": "4.8.3",
    "husky": "8.0.0",
    "madge": "7.0.0",
    "prettier": "2.8.7",
    "turbo": "1.10.7",
    "typescript": "5.0.4"
  },
  "config": {
    "commitizen": {
      "path": "./node_modules/cz-conventional-changelog"
    }
  }
}

eslint 配置

module.exports = {
  root: true,
  // This tells ESLint to load the config from the package `eslint-config-custom`
  extends: ["custom"],
};

我添加了 package.json 和 eslint 文件(这是来自我的根目录),我还尝试删除节点模块并重新安装它,但它仍然存在。

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

ESLint 常见问题解答中对此进行了介绍,https://eslint.org/docs/latest/use/troubleshooting/couldnt-define-the-plugin-uniquely

使用旧版 ESLint 配置系统时,安装依赖项后运行 ESLint 时可能会看到此错误:

...

此问题的常见解决方案包括:

  • 将所有软件包的所有版本升级到最新版本
  • 运行
    npm dedupe
    或等效的包管理器命令来删除重复包(如果它们的版本范围兼容)
  • 使用
    overrides
    或等效的包管理器
    package.json
    字段,强制使用特定版本的插件包
    • 请注意,如果插件包在版本之间发生重大更改,这可能会导致 linting 错误

您可能希望将

eslint-plugin-import
添加为
devDependency
,以便其所有使用者解析为同一版本。现在,如错误消息中所述,您在
node_modules/
中获得了它的两个不同版本。

我们还应该注意到您正在使用过时版本的 ESLint(8.x 而不是 9.x)和旧版配置系统。请参阅 https://eslint.org/docs/latest/use/configure/configuration-files 了解新的“平面”配置系统。扁平配置使工作区自定义配置和插件变得更容易,这也可能对您有所帮助。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.