安装 airbnb eslint 时出错未定义

ERR undefined while installing airbnb eslint

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_modules 的权限,但这对我不起作用,所以我只是将 npm 配置为使用不同的目录。

在这里您可以看到如何做到这一点:

我通过显式安装依赖的 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.0BUT 后者 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"
  }

你只需要运行:

(
  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

中所述
  1. 先运行npm info "eslint-config-airbnb@latest" peerDependencies查看依赖版本

  2. 使用您自己的“npm install string”ex 的版本。 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