0

ESLint: 8.0.0 Не удалось загрузить плагин '@typescript-eslint'

11

Описание проблемы

Здравствуйте! Мне нужна помощь. Я получаю следующую ошибку при попытке собрать проект:

Oops! Something went wrong! 😦

Версия ESLint: 8.0.0

Ошибка:

TypeError: Failed to load plugin '@typescript-eslint' declared in 'src.eslintrc': Class extends value undefined is not a constructor or null
Referenced from: 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"]

Проблема, похоже, связана с загрузкой плагина @typescript-eslint. Не могли бы вы помочь мне разобраться в чем дело?

5 ответ(ов)

0

Я сделал это, и у меня всё заработало без проблем.

Попробуйте обновить три пакета до следующих версий в вашем package.json:

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

Затем выполните в корне вашего проекта следующую команду для обновления пакетов:

npm i

После этого всё должно работать отлично.

0

Судя по всему, проблема совместимости ESM заключается в одном из пакетов. Вам необходимо убедиться, что все ваши зависимости совместимы с ESM, или зафиксировать версию eslint на 7.32.0 и обновить плагины (также рекомендую добавить typescript в ваши dev-зависимости):

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

Для этого вы можете выполнить команду:

npm i --save-dev typescript @typescript-eslint/eslint-plugin@^5.6.0 @typescript-eslint/parser@^5.6.0 eslint@^7.32.0

Флаг --save-dev используется для установки этих пакетов как dev-зависимостей, так как они не нужны, кроме как в процессе разработки и сборки.

0

Вы столкнулись с ошибкой при использовании версии 4.x.x пакетов @typescript-eslint. Пример вашего package.json файла:

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

Решение проблемы заключалось в обновлении этих пакетов до версии "^5.3.1". Попробуйте изменить ваши зависимости следующим образом:

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

Затем выполните команду установки зависимостей, чтобы обновить пакеты. Это должно решить вашу проблему.

0

Для меня обновление версии Node с 12.12.0 до 16.0.0 решило проблему. Похоже, это связано с устаревшей версией Node.

0

Я обновил версию Node.js до 16, и теперь все работает нормально.

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь