小批量,清晰回滚
依赖升级是行为变更,即使 API 看起来兼容。每次变更都应可归因:一个生态领域、一个主版本、一个审阅者能理解的 lockfile diff。
npm outdated
npm audit --audit-level=high
npm install package@latest
npm ci && npm test && npm run build
步骤
- 盘点过期与有漏洞的依赖,区分安全修复与例行升级,阅读变更日志与迁移说明。
- 一次升级一个小批次,重新生成 lockfile,避免把无关的主版本升级混在一起。
- 在本地与 CI 运行干净安装、lint、类型检查、单元测试、构建和集成测试。
- 部署到预发环境,走关键用户旅程,观察日志与指标。
- 逐步发布,监控错误与延迟预算,并保留旧 lockfile 与构建产物用于回滚。
验证
- 从干净检出执行
npm ci成功。 - 目标包的高危漏洞已解决。
- 集成测试覆盖升级后的行为。
- 预发关键旅程无新错误。
- 生产指标在观察窗口内保持稳定。
决策点
主版本升级应单独成 change,便于归因与回滚;安全升级只有在漏洞确实可利用时才快速通道,仍应运行最低限度的自动检查并准备回滚。
回滚
保留旧 lockfile 与构建产物。出现回归时回滚升级提交并重新部署。不要把升级与无关重构混在一起,混合变更会加大回滚与诊断难度。