import Update from "/snippets/cli/update.mdx";
NOTE
要升级你的 Bun CLI 版本,请参阅 [`bun upgrade`](/zh-cn/installation#upgrading)。要更新所有依赖到最新版本:
sh
bun update要更新特定依赖到最新版本:
sh
bun update [package]--interactive
对于更可控的更新体验,使用 --interactive 标志选择要更新的包:
sh
bun update --interactive
bun update -i这会启动一个交互式终端界面,显示所有过时的包及其当前和目标版本。然后你可以选择要更新的包。
交互式界面
界面显示按依赖类型分组的包:
txt
? Select packages to update - Space to toggle, Enter to confirm, a to select all, n to select none, i to invert, l to toggle latest
dependencies Current Target Latest
□ react 17.0.2 18.2.0 18.3.1
□ lodash 4.17.20 4.17.21 4.17.21
devDependencies Current Target Latest
□ typescript 4.8.0 5.0.0 5.3.3
□ @types/node 16.11.7 18.0.0 20.11.5
optionalDependencies Current Target Latest
□ some-optional-package 1.0.0 1.1.0 1.2.0部分:
- 包按部分标题分组:
dependencies、devDependencies、peerDependencies、optionalDependencies - 每个部分显示与包数据对齐的列标题
列:
- Package:包名(可能有后缀如
dev、peer、optional以增加清晰度) - Current:当前安装的版本
- Target:将安装的版本(尊循 semver 约束)
- Latest:最新可用版本
键盘控制
选择:
- Space:切换包选择
- Enter:确认选择并更新
- a/A:选择所有包
- n/N:取消选择
- i/I:反转选择
导航:
- ↑/↓ 箭头键 或 j/k:移动光标
- l/L:在当前包的 target 和 latest 版本之间切换
退出:
- Ctrl+C 或 Ctrl+D:取消而不更新
视觉指示器
- ☑ 已选择的包(将被更新)
- □ 未选择的包
- > 当前光标位置
- 颜色:红色(主版本)、黄色(次版本)、绿色(补丁版本)变更
- 下划线:当前选中的更新目标
包分组
包按依赖类型组织在各部分中:
- dependencies - 常规运行时依赖
- devDependencies - 开发依赖
- peerDependencies - 对等依赖
- optionalDependencies - 可选依赖
在每个部分中,单个包可能有额外的后缀( dev、 peer、 optional)以增加清晰度。
--recursive
在 monorepo 中,将 --recursive 标志与 --interactive 一起使用,以更新所有工作区中的依赖:
sh
bun update --interactive --recursive
bun update -i -r这会显示一个额外的 "Workspace" 列,显示每个依赖属于哪个工作区。
--latest
默认情况下,bun update 将更新到满足 package.json 中指定的版本范围的依赖的最新版本。
要更新到最新版本,不管它是否与当前版本范围兼容,请使用 --latest 标志:
sh
bun update --latest在交互模式下,你可以使用 l 键切换单个包的目标版本(遵循 semver)和最新版本。
例如,使用以下 package.json:
json
{
"dependencies": {
"react": "^17.0.2"
}
}bun update将更新到匹配17.x的版本。bun update --latest将更新到匹配18.x或更高版本。