【问题标题】:ESLint: 8.0.0 Failed to load plugin '@typescript-eslint'ESLint:8.0.0 无法加载插件'@typescript-eslint'
【发布时间】:2021-11-29 11:25:40
【问题描述】:

您能帮我吗,我在尝试构建项目时遇到此错误?

哎呀!有些不对劲! :(

ESLint:8.0.0

TypeError:无法加载在“src.eslintrc”中声明的插件“@typescript-eslint”:类扩展值未定义不是构造函数或 null 引用自:src.eslintrc

package.json

    "devDependencies": {
        "@typescript-eslint/eslint-plugin": "^4.33.0",
        "@typescript-eslint/parser": "^4.33.0",
        "browserslist": "^4.17.3",
        "eslint": "^8.0.0",
        "eslint-config-prettier": "^8.3.0",
        "eslint-plugin-import": "^2.24.2",
        "eslint-plugin-prettier": "^4.0.0",
        "eslint-plugin-react": "^7.26.1",
        "prettier": "^2.3.2",
    }

.eslintrc

    "parser": "@typescript-eslint/parser",
    "extends": [
        "eslint:recommended",
        "plugin:@typescript-eslint/eslint-recommended",
        "plugin:@typescript-eslint/recommended",
        "plugin:react/recommended",
        "plugin:@typescript-eslint/recommended",
        "plugin:prettier/recommended",
        "prettier"
    ],
    "plugins": ["@typescript-eslint"],

【问题讨论】:

  • 嗨,Alexei,您在添加 esLint 时是否运行了 npm install --save-dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin
  • 嗨,我今天刚刚将 eslint 更新到 8.0.0 版,一些库包括 "@typescript-eslint/eslint-plugin": "^4.33.0", "@typescript-eslint/parser": "^4.33.0",
  • 你确定你没有任何尾随逗号吗?我在您的示例中看到 "prettier": "^2.3.2" 末尾有一个逗号,但不应该,因为它不是有效的 JSON。
  • 是的,我删除了额外的依赖项。我也创建了干净的项目,只有 "@typescript-eslint/eslint-plugin": "^4.33.0", "@typescript-eslint/parser": "^4.33.0", "eslint": "^8.0.0 " 而且它也不起作用
  • 奇怪的是您遇到了兼容性问题。我跟着:github.com/typescript-eslint/typescript-eslint/blob/HEAD/docs/… 并在我的package.json 中有 ^8.0.0" 用于 eslint,它工作正常。降级您的版本对您有帮助吗?

标签: javascript typescript eslint typescript-eslint


【解决方案1】:

我在尝试使用 @typescript-eslint 包的 4.x.x 版本时看到此错误:

  "devDependencies": {
    ...
    "@typescript-eslint/eslint-plugin": "^4.29.1",
    "@typescript-eslint/parser": "^4.29.1",
    ...
}

修复是将这些更新到版本"^5.3.1"

【讨论】:

    【解决方案2】:

    我这样做了,它对我来说很好用

    "@typescript-eslint/eslint-plugin": "^5.0.0",
    "@typescript-eslint/parser": "^5.0.0",
    "eslint": "^8.1.0",
    

    更新这三个包

    然后在你的项目的根目录中运行这个命令来更新包

    npm i
    

    它会正常工作

    【讨论】:

    【解决方案3】:

    其中一个软件包可能存在 ESM 兼容性问题,因此您必须确保 所有部门 都与 ESM 兼容,或者将 eslint 锁定到 7.32.0 并将插件升级为(I' d 还建议将打字稿添加到您的开发部门):

      "devDependencies": {
        ...
        "@typescript-eslint/eslint-plugin": "^5.6.0",
        "@typescript-eslint/parser": "^5.6.0",
        "eslint": "^7.32.0",
        "typescript": "^4.4.3"
      }
    

    【讨论】:

      【解决方案4】:
      【解决方案5】:

      当我的节点版本与我使用的 react 版本不兼容时,我遇到了这个问题。检查日志并更新到 nodejs 的兼容版本

      【讨论】:

        猜你喜欢
        • 2019-06-28
        • 2023-01-17
        • 2019-07-30
        • 2023-03-14
        • 2022-06-23
        • 1970-01-01
        • 2020-11-20
        • 2020-12-09
        • 2020-11-10
        相关资源
        最近更新 更多