【问题标题】:ERR undefined while installing airbnb eslint安装airbnb eslint时ERR未定义
【发布时间】:2021-07-02 03:44:45
【问题描述】:
npx install-peerdeps --dev eslint-config-airbnb
install-peerdeps v3.0.3
Installing peerdeps for eslint-config-airbnb@latest.
npm install eslint-config-airbnb@18.2.1 eslint@^7.2.0 eslint-plugin-import@^2.22.1 eslint-plugin-jsx-a11y@^6.4.1 eslint-plugin-react@^7.21.5 eslint-plugin-react-hooks@^1.7.0 --save-dev

ERR undefined

我知道那是什么。已经尝试重新安装节点(LTS 和当前)。路径变量有效。

【问题讨论】:

    标签: node.js npm cmd node-modules eslint-config-airbnb


    【解决方案1】:

    我通过显式安装依赖的 npm 包解决了这个问题,即npm install [package]@[version] --save-dev,而不是使用npx install-peerdeps 快捷方式。

    eslint-config-airbnb 的 npm 包页面详细说明了如何使用:npm info "eslint-config-airbnb@latest" peerDependencies 列出依赖项

    对于版本18.2.1,这给出了:

    {
      eslint: '^5.16.0 || ^6.8.0 || ^7.2.0',
      'eslint-plugin-import': '^2.22.1',
      'eslint-plugin-jsx-a11y': '^6.4.1',
      'eslint-plugin-react': '^7.21.5',
      'eslint-plugin-react-hooks': '^4 || ^3 || ^2.3.0 || ^1.7.0'
    }
    

    显示错误详细信息的日志文件位于~/.npm/_logs/

    日志文件显示npx install-peerdepseslint 选择^7.2.0,为eslint-plugin-react-hooks 选择^1.7.0但是后者eslint-plugin-react-hooks@^1.7.0 需要eslint@"^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0"(根据日志文件),因此解析依赖树时出错。

    我明确安装了所有软件包中的最新版本(即npm install eslint --save-dev 等),这些软件包安装了与上述依赖项一致的以下版本(来自 package.json)。

     "devDependencies": {
        "eslint": "^7.25.0",
        "eslint-config-airbnb": "^18.2.1",
        "eslint-plugin-import": "^2.22.1",
        "eslint-plugin-jsx-a11y": "^6.4.1",
        "eslint-plugin-react": "^7.23.2",
        "eslint-plugin-react-hooks": "^4.2.0"
      }
    

    【讨论】:

      【解决方案2】:

      你只需要运行:

      (
        export PKG=eslint-config-airbnb;
        npm info "$PKG@latest" peerDependencies --json | command sed 's/[\{\},]//g ; s/: /@/g' | xargs npm install --save-dev "$PKG@latest"
      )
      

      相反,如official docs中所述

      【讨论】:

        【解决方案3】:

        我遇到了同样的问题。我的问题是我在安装全局包时有权限错误。首先,我尝试更改我的 node_modules 的权限,但这对我不起作用,所以我只是将 npm 配置为使用不同的目录。

        在这里您可以看到如何做到这一点: https://stackoverflow.com/a/55274930

        【讨论】:

          【解决方案4】:
          1. 首先运行npm info "eslint-config-airbnb@latest" peerDependencies检查依赖版本

          2. 使用您自己的“npm install string”版本,例如。 npm i -D eslint@7.2.0 eslint-plugin-import@2.22.1 eslint-plugin-jsx-a11y eslint-plugin-react@7.21.5 eslint-plugin-react-hooks@^4

          【讨论】:

            猜你喜欢
            • 2017-07-06
            • 2018-08-21
            • 2017-07-06
            • 2019-07-14
            • 1970-01-01
            • 2018-08-14
            • 2018-04-21
            • 2016-10-14
            • 2018-02-12
            相关资源
            最近更新 更多