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

#javascript #typescript #eslint #typescript-eslint

Вопрос:

Не могли бы вы помочь мне, у меня есть эта ошибка, когда я пытаюсь построить проект?

Упс! Что-то пошло не так! 🙁

ESLint: 8.0.0

Ошибка ввода: Не удалось загрузить плагин «@typescript-eslint», объявленный в «src.eslintrc»: Расширение класса значение не определено не является конструктором или значением null, на которое ссылается: src.eslintrc

пакет.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"],
 

Комментарии:

1. эй, Алексей, ты бежал npm install --save-dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin , когда добавлял свой ESLint?

2. привет, я только что обновил eslint до версии 8.0.0 сегодня, и некоторые библиотеки включают "@typescript-eslint/eslint-plugin": "^4.33.0", "@typescript-eslint/parser": "^4.33.0",

3. Вы убедились, что у вас нет никаких запятых в конце? Я вижу в вашем примере, что "prettier": "^2.3.2" в конце есть запятая, но этого не должно быть, потому что это недопустимый JSON.

4. да, я вырезал дополнительные зависимости. Также я создал чистый проект только с «@typescript-eslint/eslint-плагин»: «^4.33.0», «@typescript-eslint/анализатор»: «^4.33.0», «eslint»: «^8.0.0», и он тоже не работает

5. странно, что у вас проблемы с совместимостью. Я последовал за ним : github.com/typescript-eslint/typescript-eslint/blob/HEAD/docs/… и у ^8.0.0" меня есть eslint, package.json и он отлично работает. Помогло ли вам понижение вашей версии?

Ответ №1:

Я сделал это, и это отлично работает для меня

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

Обновите эти три пакета

Затем запустите в корне вашего проекта эту команду, чтобы обновить пакеты

 npm i
 

И это будет работать нормально

Комментарии:

1. github.com/JanDez/next-prisma-railway Проверьте журнал действий и то, как я исправил

Ответ №2:

Я увидел эту ошибку при попытке использовать версию 4.x.x пакетов @typescript-eslint:

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

Исправление состояло в том, чтобы обновить их до версии "^5.3.1"

Ответ №3:

Вероятно, существует проблема совместимости ESM с одним из пакетов, поэтому либо вы должны убедиться, что все ваши dep совместимы с ESM, либо заблокировать eslint до версии 7.32.0 и обновить плагины как (я бы также рекомендовал добавить машинопись в ваши dep разработчиков):

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

Ответ №4:

https://github.com/typescript-eslint/typescript-eslint/issues/3982

Похоже, это проблема совместимости