装一个新依赖后整个安装失败,提示依赖树无法解析,删掉 node_modules 重装仍然一样。日志里能对上时间点,这种反而好排。
两个包要求同一个依赖的不同大版本,npm 7 以后默认严格校验并中止安装。这一点先确认清楚,后面就不用反复试。
npm ls react npm install --legacy-peer-deps # 或 npm install react@18.3.1
「npm 依赖冲突」排查到最后往往是很小的一处差异,前面那些复杂猜测可以先放一放。偶发问题先统计频率,一小时几次和一天一次,查法完全不同。
改完顺手把文档补一句,省得下次自己重新推一遍。监控和日志的时间要对上,时区不一致会多绕很大一圈。
临时改动用注释写上日期和原因,过两周自己都记不清为什么这么写。动手前把原文件复制一份带时间戳,出问题立刻换回去,比现场分析快得多。
处理上按这个顺序:先看冲突涉及的具体包和版本;升级或降级直接依赖;实在无法统一时用 legacy 模式并记录原因。
结果对不对很好判断,安装完成且 npm ls 没有标红冲突,项目能正常启动构建。