要将所有依赖项更新到最新版本
bun update将特定依赖项更新到最新版本
bun update [package]--interactive
为了获得更可控的更新体验,请使用 --interactive 标志来选择要更新的包。
bun update --interactivebun update -i这将启动一个交互式终端界面,显示所有过期的包及其当前版本和目标版本。然后,您可以选择要更新的包。
交互式界面
界面显示按依赖类型分组的包。
? 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
Sections
- 包按部分标题分组:
dependencies、devDependencies、peerDependencies、optionalDependencies。 - 每个部分显示与包数据对齐的列标题。
Columns
- Package:包名称(为清晰起见,可能带有
dev、peer、optional等后缀)。 - Current:当前安装的版本。
- Target:将要安装的版本(遵循 semver 约束)。
- Latest:最新可用版本。
键盘控件
Selection
- Space:切换包的选定状态。
- Enter:确认选定并更新。
- a/A:选定所有包。
- n/N:取消选定。
- i/I:反选。
Navigation
- ↑/↓ 方向键 或 j/k:移动光标。
- l/L:在当前包的目标版本和最新版本之间切换。
Exit
- Ctrl+C 或 Ctrl+D:取消更新。
视觉指示器
- ☑ 已选定包(将被更新)。
- □ 未选定包。
- > 当前光标位置。
- 颜色:红色(主版本)、黄色(次版本)、绿色(补丁版本)的版本更改。
- 下划线:当前选定的更新目标。
包分组
包按依赖类型分组。
- dependencies - 常规运行时依赖。
- devDependencies - 开发依赖。
- peerDependencies - 对等依赖。
- optionalDependencies - 可选依赖。
在每个部分中,单个包可能带有额外的后缀( dev、 peer、 optional)以提高清晰度。
--recursive
将 --recursive 标志与 --interactive 一起使用,以更新 monorepo 中所有工作区的依赖项。
bun update --interactive --recursivebun update -i -r这将显示一个额外的“Workspace”列,显示每个依赖项所属的工作区。
--latest
默认情况下,bun update 将更新到 package.json 中指定的版本范围的依赖项的最新版本。
要更新到最新版本,无论是否与当前版本范围兼容,请使用 --latest 标志。
bun update --latest在交互模式下,您可以使用 l 键在目标版本(符合 semver)和最新版本之间切换单个包。
例如,使用以下 package.json:
{
"dependencies": {
"react": "^17.0.2"
}
}
bun update将更新到匹配17.x的版本。bun update --latest将更新到匹配18.x或更高版本。
CLI 用法
Flags
General Configuration & Help
Update Strategy & Interaction
Dependency Scope & Handling
package.json 的 trustedDependencies 并安装包。Project File Management
Installation & Linking
Network & Registry Configuration
--ca 相同,但它是证书的文件路径。Caching
Output & Logging
Script Execution & Integrity
package.json 中的生命周期脚本(依赖项脚本永远不会运行)。