You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ESLint无法唯一确定import插件问题的解决咨询

解决ESLint无法唯一确定"import"插件的问题

问题详情

提交代码时触发ESLint报错:

Oops! Something went wrong! :(

ESLint: 8.50.0

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

- /Users/krish/Documents/frontend/node_modules/.pnpm/eslint-plugin-i@2.27.5-4_@typescript-eslint+parser@6.7.4_eslint@8.50.0_typescript@4.8.4__eslint@8.50.0/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/eslint-plugin-i@2.27.5-4_@typescript-eslint+parser@6.7.4_eslint@8.50.0_typescript@5.0.4__eslint@8.50.0/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、删除重装node_modules,问题仍存在。相关配置文件如下:

根目录package.json

{
  "name": "quizizz",
  "version": "0.0.0",
  "private": true,
  "workspaces": [
    "apps/*",
    "packages/*"
  ],
  "packageManager": "pnpm@8.6.2",
  "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配置文件(.eslintrc.cjs)

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

解决方案

1. 统一TypeScript版本

错误显示eslint-plugin-i存在两个实例,分别依赖typescript@4.8.4和typescript@5.0.4:

  • 检查所有工作区(apps/*、packages/*)下的package.json,若有单独指定typescript版本的,删除该配置,统一使用根目录的typescript@5.0.4
  • 确保根目录package.json中的typescript版本为固定值(无^前缀)

2. 强制锁定eslint-plugin-i版本

在根目录package.json中添加pnpm.overrides字段,强制所有依赖使用同一版本的eslint-plugin-i:

"pnpm": {
  "overrides": {
    "eslint-plugin-i": "2.27.5-4"
  }
}

3. 清理缓存并重新安装依赖

执行以下命令彻底清理缓存并重新安装:

pnpm store prune
rm -rf node_modules
rm pnpm-lock.yaml
pnpm install

4. 检查自定义ESLint配置

查看eslint-config-custom的具体配置,确认是否存在重复引入plugin:import/recommended和./standard的情况。若有,去掉其中一个重复的插件引入逻辑,避免加载多个插件实例。

内容的提问来源于stack exchange,提问作者Krushna Balbhim Modhave

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 10:09:50