要升级 Bun CLI 版本,请参阅
bun upgrade。terminal
terminal
--interactive
为了获得更可控的更新体验,使用 --interactive 标志选择要更新的包:
terminal
交互界面
界面显示按依赖类型分组的包:- 包按节标题分组:
dependencies、devDependencies、peerDependencies、optionalDependencies - 每组显示与包数据对齐的列标题
- Package(包名):包的名称(可能会有
dev、peer、optional等后缀以区分) - Current(当前):当前安装的版本
- Target(目标):将要安装的版本(符合 semver 约束)
- Latest(最新):最新可用的版本
键盘操作
选择操作:- 空格:切换包的选择状态
- 回车:确认选择并更新
- a/A:全选所有包
- n/N:全不选
- i/I:反选
- ↑/↓ 方向键 或 j/k:移动光标
- l/L:切换当前包的目标版本和最新版本显示
- Ctrl+C 或 Ctrl+D:取消且不更新
视觉指示
- ☑ 已选择的包(将被更新)
- □ 未选中的包
- > 当前光标所在位置
- 颜色:红色表示大版本更新,黄色表示小版本更新,绿色表示补丁更新
- 下划线:当前选中的更新目标版本
包分组
包根据依赖类型组织分组:- dependencies - 常规运行时依赖
- devDependencies - 开发依赖
- peerDependencies - 同级依赖
- optionalDependencies - 可选依赖
dev、 peer、 optional)以增加区分度。
--recursive
配合 --interactive 使用 --recursive 标志可以在 monorepo 的所有工作区内更新依赖:
terminal
--latest
默认情况下,bun update 会更新到符合 package.json 中版本范围的最新依赖版本。
如果想更新到不受当前版本范围限制的最新版本,可以使用 --latest 标志:
terminal
package.json:
package.json
bun update会升级到匹配17.x的版本。bun update --latest会升级到匹配18.x或更高版本。
CLI 用法
terminal
更新策略
始终从注册表请求最新版本并重新安装所有依赖。别名:
-f将包更新到最新版本
依赖范围
不安装 devDependencies。别名:
-p全局安装。别名:
-g从安装中排除
dev、optional 或 peer 依赖项目文件管理
写入
yarn.lock 文件(yarn v1)。别名: -y不更新
package.json 或保存锁文件保存到
package.json(默认启用)禁止修改锁文件
保存基于文本的锁文件
仅生成锁文件,不安装依赖
网络与注册表
提供证书颁发机构(CA)签发证书
与
—ca 相同,但作为证书的文件路径默认使用指定注册表,覆盖
.npmrc、bunfig.toml 和环境变量设置最大并发网络请求数(默认 48)
缓存
从指定目录路径存储及加载缓存数据
完全忽略清单缓存
输出与日志
不输出任何日志
过度详细的日志输出
禁用进度条
不打印摘要信息
脚本执行
跳过项目
package.json 中的生命周期脚本(依赖脚本永远不会执行)生命周期脚本的最大并发作业数(默认 5)
安装控制
跳过校验新下载包的完整性
添加到项目
package.json 的 trustedDependencies 并安装包安装依赖的特定平台优化。可选值:
clonefile(默认)、hardlink、symlink、copyfile常规与环境
指定配置文件路径(
bunfig.toml)。别名: -c不安装任何内容
设置特定的当前工作目录
打印此帮助菜单。别名:
-h