当我尝试添加
eslint-config-airbnb
时,它给了我这个错误
$ npm install --save-dev eslint-config-airbnb
npm ERR! code ERESOLVE
npm ERR! ERESOLVE could not resolve
npm ERR!
npm ERR! While resolving: [email protected]
npm ERR! Found: [email protected]
npm ERR! node_modules/eslint-plugin-react-hooks
npm ERR! eslint-plugin-react-hooks@"^5.0.0" from [email protected]
npm ERR! node_modules/eslint-config-next
npm ERR! dev eslint-config-next@"15.0.1" from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! dev eslint-config-airbnb@"*" from the root project
npm ERR!
npm ERR! Conflicting peer dependency: [email protected]
npm ERR! node_modules/eslint-plugin-react-hooks
npm ERR! peer eslint-plugin-react-hooks@"^4.3.0" from [email protected]
npm ERR! node_modules/eslint-config-airbnb
npm ERR! dev eslint-config-airbnb@"*" 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 info "eslint-config-airbnb@latest" peerDependencies
{
eslint: '^7.32.0 || ^8.2.0',
'eslint-plugin-react': '^7.28.0',
'eslint-plugin-import': '^2.25.3',
'eslint-plugin-jsx-a11y': '^6.5.1',
'eslint-plugin-react-hooks': '^4.3.0'
}
根据我安装的输出
[email protected]
,上面的错误没有返回。
现在的问题是我无法安装
eslint-config-airbnb-typescript
,因为它带来了不同的依赖问题。
我尝试通过安装所需版本的
@typescript-eslint/parser
和@typescript-eslint/eslint-plugin
来修复它,但它似乎给了我一个循环错误。
这里的问题是:
eslint-config-next
且名为 15.0.1
的包,并且需要 eslint-plugin-react-hooks@"^5.0.0
。eslint-config-airbnb
版本 19.0.4
需要 eslint-plugin-react-hooks@"^4.3.0
此问题无法解决,因为
eslint-plugin-react-hooks
(版本 4.x.x)所需的 eslint-config-airbnb
版本低于 eslint-config-next
(版本 5.x.x)所需的版本。
在撰写本文时
eslint-config-airbnb
已经3年没有更新了,但是一个线程已打开涉及到eslint-plugin-react-hooks
升级到v5。
此外,在撰写本文时,
eslint-config-airbnb-typescript
似乎尚未得到维护。围绕此也开了一个线程。
您的选择是:
eslint-config-next
,以获得与旧版 ESLint 的兼容性。eslint-config-next
解释了放弃对旧依赖项的支持的原因here。
由于较旧的 ESLint 已结束生命,如果优先考虑项目健康状况,(1) 将是一个可能的选择。