#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
Похоже, это проблема совместимости