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整理維護