Не удалось загрузить плагин @typescript-eslint: не удается найти модуль 'eslint-plugin- @typescript-eslint'

Я переконфигурирую свой проект от tslint до eslint. Я могу запустить eslint вручную, но webpack не запускается с этим сообщением об ошибке:

Module build failed (from /path/node_modules/eslint-loader/index.js):
Error: Failed to load plugin @typescript-eslint: Cannot find module '[email protected]'

Я исключил плохие .eslintrc.js и недостающие зависимости, так как он работает, когда я запускаю его вручную. /node_modules/eslint/bin/eslint.js. / --ext.ts,.tsx --config./.eslintrc.js

Я не уверен, является ли это основной проблемой eslint-loader.

module.exports = {
  parser: "@typescript-eslint/parser",
  plugins: ["@typescript-eslint"],
  extends: ["eslint:recommended", "plugin:@typescript-eslint/recommended", "plugin:react/recommended", "plugin:jest/recommended", "prettier", "prettier/@typescript-eslint"],
  rules: {
    "react/prop-types": false
  },
  parserOptions: {
    ecmaVersion: 6,
    project: "./tsconfig.json",
    sourceType: "module"
  },
  settings: {
    react: {
      version: "detect"
    },
    linkComponents: [
      {"name": "Link", "linkAttribute": "href"}
    ]
  },
  env: {
    browser: true
  }
};

Мой пакет .json

{
    "dependencies": {
        "@emotion/core": "10.0.6",
        "facepaint": "1.2.1",
        "react": "16.7.0",
        "react-dom": "16.7.0",
        "react-redux": "6.0.0",
        "redux": "4.0.1",
        "tslib": "1.9.3"
    },
    "devDependencies": {
        "@types/node": "10.12.21",
        "@types/react": "16.8.1",
        "@types/react-dom": "16.0.11",
        "@types/react-redux": "7.0.1",
        "@typescript-eslint/eslint-plugin": "1.2.0",
        "eslint": "5.13.0",
        "eslint-config-prettier": "4.0.0",
        "eslint-plugin-jest": "22.2.2",
        "eslint-plugin-react": "7.12.4",
        "tsconfig-paths-webpack-plugin": "3.2.0",
        "typescript": "3.2.1"
    }
}

Ответ 1

Вам необходимо обновить версию eslint, в ошибке вы можете увидеть неправильный префикс eslint-plugin- из-за некоторого const в eslint/lib/config/plugins.js который был удален в более поздних версиях.

Ответ 2

Я исправил эту ошибку, заменив все ^ на пустой в package.json, а затем npm i.

enter image description here