无法加载在“.eslintrc.json”中声明的插件 'react':找不到模块 'eslint-plugin-react'

Failed to load plugin 'react' declared in '.eslintrc.json': Cannot find module 'eslint-plugin-react'

在本地 运行 时,它似乎工作正常但在管道上时崩溃

编辑:删除 npx 后,它会产生不同的错误:

我已经按照安装插件的建议进行了:

npm install eslint-plugin-react@latest --save-dev

但渗漏会重演。

这是我收回的 bitbucket-pipelines.yml 配置:

  - step:
          name: CI
          caches:
              - node
          script:
              - npm install
              - npm run lint
              - npm run test

等同于package.json

    "lint": "eslint --ext .js,.ts,.tsx src --ignore-pattern node_modules/",
    "test": "jest --verbose --colors --coverage",

这是我的 eslint 配置文件:

{
    "env": {
        "browser": true,
        "es6": true,
        "jest": true
    },
    "extends": [
        "eslint:recommended",
        "plugin:react/recommended",
        "airbnb"
    ],
    "globals": {
        "Atomics": "readonly",
        "SharedArrayBuffer": "readonly"
    },
    "parser": "@typescript-eslint/parser",
    "parserOptions": {
        "ecmaFeatures": {
            "jsx": true
        },
        "ecmaVersion": 2018,
        "sourceType": "module"
    },
    "plugins": [
        "react",
        "@typescript-eslint"
    ],
    "settings": {
      "import/resolver": {
        "node": {
          "extensions": [".js", ".ts", ".tsx"],
          "paths": ["src"]
        }
      }
    },
    "rules": {
    ...
    }
  }
}

通过删除管道的 .env 中的 NODE_ENV 修复了此问题:

npm install (in package directory, no arguments):

Install the dependencies in the local node_modules folder.

In global mode (ie, with -g or --global appended to the command), it installs the current package context (ie, the current working directory) as a global package.

By default, npm install will install all modules listed as dependencies in package.json.

With the --production flag (or when the NODE_ENV environment variable is set to production), npm will not install modules listed in devDependencies.

NOTE: The --production flag has no particular meaning when adding a dependency to a project.

碰巧。

努力寻找答案。

显然,e​​slint 会在工作目录或类似目录中搜索根目录,以找到要导入的模块。

碰巧我的项目文件夹中有两个应用程序,只有一个有 eslintrc.josn。

我修复了在打开 vs settings.json 的整个项目上使用 eslint 并添加以下内容:

"eslint.workingDirectories": ["./app1","./app2"...]

如果您的项目文件夹中有多个应用程序,您应该尝试一下

对 Visual Studio 代码的更新为我解决了这个问题。

我无意中使用了 2 年前的版本。