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部分:
- 包按部分標題分組:
dependencies、devDependencies、peerDependencies、optionalDependencies - 每個部分顯示與包數據對齊的列標題
列:
- Package:包名(可能有後綴如
dev、peer、optional以增加清晰度) - Current:當前安裝的版本
- Target:將安裝的版本(尊循 semver 約束)
- Latest:最新可用版本
鍵盤控制
選擇:
- Space:切換包選擇
- Enter:確認選擇並更新
- a/A:選擇所有包
- n/N:取消選擇
- i/I:反轉選擇
導航:
- ↑/↓ 箭頭鍵 或 j/k:移動光標
- l/L:在當前包的 target 和 latest 版本之間切換
退出:
- Ctrl+C 或 Ctrl+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或更高版本。