【问题标题】:Unsupported engine, when installing eslint-plugin-react安装 eslint-plugin-react 时不支持的引擎
【发布时间】:2022-01-15 19:50:55
【问题描述】:

这里是新的 react 用户,我在安装 eslint-plugin-reacteslint-plugin-react-hooks 时在终端中遇到以下错误。

npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@es-joy/jsdoccomment@0.10.8',
npm WARN EBADENGINE   required: { node: '^12 || ^14 || ^16' },
npm WARN EBADENGINE   current: { node: 'v17.3.0', npm: '8.3.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'eslint-plugin-jsdoc@36.1.1',
npm WARN EBADENGINE   required: { node: '^12 || ^14 || ^16' },
npm WARN EBADENGINE   current: { node: 'v17.3.0', npm: '8.3.0' }
npm WARN EBADENGINE }

package.json

{
  "name": "postcode-pricing",
  "version": "1.0.0",
  "description": "Lorum Ipsum",
  "main": "index.js",
  "scripts": {
    "build": "wp-scripts build",
    "start": "wp-scripts start",
    "start:custom": "wp-scripts start src/index.js --output-path=admin/build",
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "@wordpress/scripts": "^19.2.2",
    "eslint": "^7.32.0",
    "eslint-plugin-react": "^7.28.0",
    "eslint-plugin-react-hooks": "^4.3.0"
  }
}

.eslintrc.json

{
  "env": {
    "browser": true,
    "es2021": true
  },
  "extends": ["plugin:react/recommended", "google"],
  "parser": "@typescript-eslint/parser",
  "parserOptions": {
    "ecmaFeatures": {
      "jsx": true
    },
    "ecmaVersion": 12,
    "sourceType": "module"
  },
  "plugins": ["react", "react-hooks", "@typescript-eslint"],
  "rules": {
    "react-hooks/rules-of-hooks": "error",
    "react-hooks/exhaustive-deps": "warn"
  }
}

有人能帮我理解这些特殊错误吗?

【问题讨论】:

    标签: node.js reactjs npm


    【解决方案1】:

    此错误表示这两个包需要 Node 12、14 或 16,但您的 Node 版本是 17。

    这只是警告,软件包将像其他软件包一样正确安装。但是,可能存在由 Node 版本不匹配导致的错误。最好的方法是暂时使用 Node 16(如果你使用 NVM)。

    【讨论】:

    • 我记得读到过可能必须在节点版本之间切换。虽然我不使用NVM,但我目前使用Homebrew。不过感谢您的帮助,我会尝试连接 node@16 并查看是否可以解决问题。
    • @Beaniie 可以使用 brew 进行版本切换。运行brew install node@16 安装Node 16,使用brew switch node 16brew switch node 17 切换版本,brew cleanup 删除旧版本。
    • 我不知道你可以使用brew switch 切换。很高兴知道,我在ralphjsmit.com/switch-between-nodejs-versions-homebrew/… 找到了这篇文章,其中谈到了能够创建节点别名,以便您可以在每个新终端实例的节点版本之间切换。虽然我不确定我目前是否正确理解了路径。 ?
    • 刚从通过自制软件安装 nvm 的兔子洞中出现,任何关注这个链接的人都可以试试这个链接。 blog.jamesauble.com/install-nvm-on-mac-with-brew-adb921fb92cc
    猜你喜欢
    • 2021-05-11
    • 1970-01-01
    • 2016-05-27
    • 2020-02-02
    • 2015-07-20
    • 1970-01-01
    • 1970-01-01
    • 2018-04-21
    • 2018-07-04
    相关资源
    最近更新 更多