npm、yarn 和 pnpm 的 lockfile 机制 从依赖漂移的真实问题切入,解释 package.json 只声明版本范围、lockfile 才记录完整依赖树。再顺着 npm、yarn、pnpm 的锁文件看,为什么团队、CI 和发布环境要提交同一份锁定结果,以及重装依赖、处理锁文件冲突、避免混用包管理器时到底在复现什么。 2022-05-09