升级Node和npm后执行npm install遇ERESOLVE依赖树解析错误
解决npm ERESOLVE依赖树冲突问题
问题本质
你的冲突核心是依赖版本不兼容链:
- 你用的
stylelint-webpack-plugin@^0.10.5是老旧版本,它的peer依赖仅支持stylelint@^8.0.0 ~ ^13.0.0。当你手动把stylelint升到17.x,插件会自动拉取兼容的13.x版本stylelint,导致同一包出现两个版本冲突。 - 报错里的
stylelint-config-standard@17.0.0要求peer依赖stylelint@^14.0.0,和插件拉取的13.x版本stylelint不匹配,触发ERESOLVE错误。
修复方案(推荐全量升级到稳定版)
1. 升级stylelint-webpack-plugin到兼容高版本stylelint的版本
旧版插件完全不支持stylelint 14+,必须升级到最新稳定版(当前v5.x系列支持stylelint 14-17):
npm uninstall stylelint-webpack-plugin npm install stylelint-webpack-plugin --save-dev
或者直接修改package.json中的版本为^5.0.0及以上,再执行安装。
2. 统一stylelint和配置包的版本匹配
确保stylelint和stylelint-config-standard版本兼容:
- 若使用
stylelint@^17.0.0,对应的stylelint-config-standard需升级到^34.0.0(当前最新兼容17的稳定版) - 修改后的
package.json依赖片段:"stylelint": "^17.0.0", "stylelint-config-standard": "^34.0.0", "stylelint-webpack-plugin": "^5.0.0"
3. 清理残留文件并重新安装
rm -rf node_modules package-lock.json npm cache clean --force npm install
备选方案(临时降级,不推荐长期使用)
如果暂时不想大幅升级,可以降级stylelint-config-standard到兼容stylelint 13.x的版本:
- stylelint 13.x对应的
stylelint-config-standard最高版本是^20.0.0,修改package.json后重新执行安装即可。但旧版本存在安全隐患,建议尽快升级。
内容的提问来源于stack exchange,提问作者ayushi
相关产品推荐
相关产品推荐

