npm依赖树解析失败:React UI库ESLint peer依赖冲突排查
解决monorepo中自研ESLint配置包的peer依赖冲突问题
先检查自研包
@kelysty/eslint-config的package.json- 确认
peerDependencies里的eslint声明是^8.0.0,有没有拼写错误或者版本范围写错 - 排查是否在
dependencies里误加了eslint,这会直接导致版本冲突
- 确认
检查工作包
@kelysty/npm-template的依赖链- 运行
npm ls eslint,查看项目中eslint的实际版本和依赖来源,确认是否有其他包引入了不兼容的版本 - 确认devDependencies里的
eslint@^8.54.0确实存在,没有被其他依赖覆盖
- 运行
强制指定eslint版本
在工作包的package.json里添加overrides字段(npm 8.3及以上支持),强制统一eslint版本:"overrides": { "eslint": "^8.54.0" }检查monorepo配置(如果是monorepo环境)
- 确认npm workspaces配置是否正确包含了
@kelysty/eslint-config所在的包 - 尝试在根目录运行
npm install --workspaces,确保自研包被正确链接到工作包
- 确认npm workspaces配置是否正确包含了
彻底清理后重装
- 执行
npm cache clean --force清除npm缓存 - 删除
node_modules和package-lock.json,再重新运行npm install
- 执行
内容的提问来源于stack exchange,提问作者Ivan Post
相关产品推荐
相关产品推荐

