Skip to content

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

部分:

  • 包按部分标题分组:dependenciesdevDependenciespeerDependenciesoptionalDependencies
  • 每个部分显示与包数据对齐的列标题

列:

  • Package:包名(可能有后缀如 dev peer optional 以增加清晰度)
  • Current:当前安装的版本
  • Target:将安装的版本(尊循 semver 约束)
  • Latest:最新可用版本

键盘控制

选择:

  • Space:切换包选择
  • Enter:确认选择并更新
  • a/A:选择所有包
  • n/N:取消选择
  • i/I:反转选择

导航:

  • ↑/↓ 箭头键j/k:移动光标
  • l/L:在当前包的 target 和 latest 版本之间切换

退出:

  • Ctrl+CCtrl+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 或更高版本。

Bun学习网由www.bunjs.com.cn整理维护