npm 如何处理包的更新与版本锁定?
修改于 2026-09-04 17:21:48
101. 更新策略
- npm update 根据 package.json 中的版本范围,将依赖更新到最新的兼容版本
- 默认只更新补丁与次版本,主版本升级需要手动修改 package.json
- npm update -g npm 可将 npm 自身升级到最新版本
2. 锁定文件机制
- package-lock.json 记录依赖树中每个包的确切版本、下载地址(resolved)与完整性哈希(integrity)
- 即使 package.json 使用宽松的版本范围,锁定文件也能确保实际安装的版本固定
- 锁定文件应提交到版本控制系统,作为团队协作的依赖契约
3. 版本回退与一致性保障
- 通过 package-lock.json 可以精确回退到之前的依赖状态
- 当锁定文件与 package.json 不一致时,npm 会提示并等待开发者确认
- 使用 npm ci 命令可以基于锁定文件进行干净、可复现的安装