必须提交package-lock.json到Git,以锁定完整依赖树、确保各环境安装一致;升级依赖后需手动运行npm install并提交更新后的lock文件,否则CI/CD仍会安装旧版本。

Version Lens:安全更新 package.json 版本号的首选
它不碰 node_modules,只改 package.json 里的版本字符串,适合日常小步快跑式维护。鼠标悬停在版本号上(如 "lodash": "^4.17.21"),立刻显示 latest、next 等可选值;光标停住后按 Ctrl+.(Windows/Linux)或 Cmd+.(macOS),弹出菜单选目标版本即可替换并保存。
批量升级时,选中多行依赖项(如 "axios": "1.3.4" 和 "zod": "3.20.2"),右键 → Upgrade selected dependencies(需插件 v1.10+)。注意:npm install 不会自动执行,升级完必须手动运行,否则 node_modules 和 package-lock.json 仍停留在旧状态。
常见错误现象:升级后运行报 Cannot find module 或版本不匹配——大概率是忘了 npm install。它只改声明,不拉代码。
npm Dependency Updater:强制升到 @latest 的“暴力”方案
它直接调用 npm install pkg@latest,绕过 ^/~ 语义化约束,适合明确要跳过兼容性检查、快速尝鲜新特性或修复已知漏洞的场景。
使用前先点插件右上角 Refresh 扫描项目,过期包会标红,并显示 Current 和 Latest 两列;支持多选 → 右键 → Update selected,逐个执行安装命令。
使用一条命令部署ProbeChain Rydberg测试网代理节点。自动注册为Agent(NodeType=1),免gas,支持macOS/Linux/Windows。触发词:/r
风险点很实在:peer dependency 冲突可能被忽略,package-lock.json 不会自动提交 Git;升级后若没 git add package-lock.json,CI 构建时仍会装旧版。
为什么不能靠 VSCode 自带功能或右键“升级”?
VSCode 对 package.json 的支持仅限语法高亮和跳转,没有内置依赖解析引擎。“右键更新”全是插件注入的命令,背后仍是 CLI 调用。真正关键的是:你得清楚自己在改什么。
npm update ≠ 升到最新版,它只按当前 package.json 中的 semver 范围找兼容最高版。比如 "lodash": "~4.17.0" 执行后仍是 4.17.x,绝不会进 4.18。
所有图形化操作都不会自动提交 package-lock.json,这步必须手动确认 git status 或看 VSCode 状态栏。顺滑的 UI 容易让人漏掉终端里那句 npm install 实际干了三件事:改 node_modules、更新 package-lock.json、校验一致性。
升级后最常被忽略的一件事
不是版本号有没有改对,而是 package-lock.json 是否同步提交到了 Git。图形界面点几下就完事,但 CI/CD 流水线只认 lock 文件;如果它没更新或没提交,别人拉代码、CI 跑构建,装的还是旧版本,问题照旧。

















