Skip to main content
要升级你的 Bun CLI 版本,请参见 bun upgrade
要将所有依赖更新到最新版本:
terminal
bun update
要将特定依赖更新到最新版本:
terminal
bun update [package]

--interactive

为了获得更受控制的更新体验,使用 --interactive 标志来选择要更新的包:
terminal
bun update --interactive
bun 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
章节:
  • 包在章节标题下分组:dependenciesdevDependenciespeerDependenciesoptionalDependencies
  • 每个章节显示与包数据对齐的列标题
列:
  • Package: 包名(可能有后缀如 dev peer optional 以增加清晰度)
  • Current: 当前安装的版本
  • Target: 将要安装的版本(遵守 semver 约束)
  • Latest: 最新可用版本

键盘控制

选择:
  • Space: 切换包的选择状态
  • Enter: 确认选择并更新
  • a/A: 选择所有包
  • n/N: 全部不选
  • i/I: 反向选择
导航:
  • ↑/↓ 箭头键j/k: 移动光标
  • l/L: 在当前包的目标版本和最新版本之间切换
退出:
  • Ctrl+CCtrl+D: 取消更新

视觉指示

  • 已选择的包(将被更新)
  • 未选择的包
  • > 当前光标位置
  • 颜色: 红色(重大版本)、黄色(次要版本)、绿色(补丁版本)变化
  • 下划线: 当前选定的更新目标

包分组

包按依赖类型在章节中组织:
  • dependencies - 常规运行时依赖
  • devDependencies - 开发依赖
  • peerDependencies - 同级依赖
  • optionalDependencies - 可选依赖
在每个章节内,单个包可能有额外的后缀( dev peer optional)以增加清晰度。

--recursive

--interactive--recursive 标志一起使用,以在单一代码库中的所有工作区中更新依赖:
terminal
bun update --interactive --recursive
bun update -i -r
这会显示一个额外的 “Workspace” 列,显示每个依赖所属的工作区。

--latest

默认情况下,bun update 将更新到满足你在 [package.json] 中指定的版本范围的最新版本。 要更新到最新版本,不管是否与当前版本范围兼容,请使用 --latest 标志:
terminal
bun update --latest
在交互模式下,你可以使用 l 键在单个包的目标版本(遵守 semver)和最新版本之间切换。 例如,对于以下 [package.json]:
package.json
{
  "dependencies": {
    "react": "^17.0.2"
  }
}
  • bun update 将更新到匹配 17.x 的版本。
  • bun update --latest 将更新到匹配 18.x 或更高版本。

CLI 用法

terminal
bun update <package> <version>

更新策略

--force
boolean
始终从注册表请求最新版本并重新安装所有依赖。别名:-f
--latest
boolean
将包更新到最新版本

依赖范围

--production
boolean
不安装 devDependencies。别名:-p
--global
boolean
全局安装。别名:-g
--omit
string
从安装中排除 devoptionalpeer 依赖

项目文件管理

--yarn
boolean
写入 yarn.lock 文件(yarn v1)。别名:-y
--no-save
boolean
不更新 package.json 或保存锁文件
--save
boolean
default:"true"
保存到 package.json(默认为 true)
--frozen-lockfile
boolean
禁止更改锁文件
--save-text-lockfile
boolean
保存基于文本的锁文件
--lockfile-only
boolean
生成锁文件但不安装依赖

网络和注册表

--ca
string
提供证书颁发机构签名证书
--cafile
string
—ca 相同,但作为证书的文件路径
--registry
string
默认使用特定注册表,覆盖 .npmrcbunfig.toml 和环境变量
--network-concurrency
number
default:"48"
最大并发网络请求数(默认为 48)

缓存

--cache-dir
string
从特定目录路径存储和加载缓存数据
--no-cache
boolean
完全忽略清单缓存

输出和日志

--silent
boolean
不记录任何内容
--verbose
boolean
过度详细的日志记录
--no-progress
boolean
禁用进度条
--no-summary
boolean
不打印摘要

脚本执行

--ignore-scripts
boolean
跳过项目 package.json 中的生命周期脚本(依赖脚本永远不会运行)
--concurrent-scripts
number
default:"5"
生命周期脚本的最大并发作业数(默认为 5)

安装控制

--no-verify
boolean
跳过验证新下载包的完整性
--trust
boolean
添加到项目 package.json 中的 trustedDependencies 并安装包
--backend
string
default:"clonefile"
安装依赖的平台特定优化。可能的值:clonefile(默认)、 hardlinksymlinkcopyfile

通用和环境

--config
string
指定配置文件路径(bunfig.toml)。别名:-c
--dry-run
boolean
不安装任何内容
--cwd
string
设置特定的当前工作目录
--help
boolean
打印此帮助菜单。别名:-h