无法使用 eslint-config-airbnb 解析依赖关系树

Posted

技术标签:

【中文标题】无法使用 eslint-config-airbnb 解析依赖关系树【英文标题】:Unable to resolve dependency tree with eslint-config-airbnb 【发布时间】:2021-02-28 15:20:53 【问题描述】:

当我尝试使用 npx install-peerdeps --dev eslint-config-airbnb 安装 eslint-config-airbnb 时出现以下错误(--legacy-peer-deps 标志没有帮助):

npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR! 
npm ERR! While resolving: favnote@0.1.0
npm ERR! Found: eslint@7.2.0
npm ERR! node_modules/eslint
npm ERR!   dev eslint@"7.2.0" from the root project
npm ERR!   peer eslint@"^5.16.0 || ^6.8.0 || ^7.2.0" from eslint-config-airbnb@18.2.1
npm ERR!   node_modules/eslint-config-airbnb
npm ERR!     dev eslint-config-airbnb@"18.2.1" from the root project
npm ERR!   3 more (eslint-plugin-import, eslint-plugin-jsx-a11y, eslint-plugin-react)
npm ERR! 
npm ERR! Could not resolve dependency:
npm ERR! peer eslint@"^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0" from eslint-plugin-react-hooks@4.0.0    
npm ERR! node_modules/eslint-plugin-react-hooks
npm ERR!   dev eslint-plugin-react-hooks@"4.0.0" from the root project
npm ERR!   peer eslint-plugin-react-hooks@"^4 || ^3 || ^2.3.0 || ^1.7.0" from eslint-config-airbnb@18.2.1
npm ERR!   node_modules/eslint-config-airbnb
npm ERR!     dev eslint-config-airbnb@"18.2.1" from the root project
npm ERR! 
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR! ```

【问题讨论】:

您能否显示您的 package.json(或至少是依赖项和 devDependencies)并指出您使用的 npx 的版本? @Trott 当然,对不起 - package.json: pastebin.com/SD5CxRQA 谢谢。 npx --version 的输出是什么? $ npx --version 7.0.8 【参考方案1】:

运行npm install --legacy-peer-deps,他们将安装成功。

查看您的package.json 并将其与为eslint-config-airbnb 列出的对等依赖项进行比较,您已经将package.json 中的所有对等依赖项作为开发依赖项。 (它们可能是在您运行 npx install-peerdeps 命令时添加的,但随后该命令尝试运行 npm install 并失败。)

【讨论】:

以上是关于无法使用 eslint-config-airbnb 解析依赖关系树的主要内容,如果未能解决你的问题,请参考以下文章

使用 eslint-config-airbnb 扩展名为“.js”的文件中不允许使用 JSX

使用 eslint-config-airbnb 后“./reducer”错误缺少文件扩展名“tsx”

eslint-config-airbnb vs prettier vs standard

javascript Scott Tolinski的ESLint配置。必须安装eslint-config-airbnb才能正常工作。

使用 React 和 Webpack 设置 Airbnb ESLint

如何使用 nodejs express 应用程序配置 eslint