Skip to content

参考

Bun 包管理器 常用命令、标志、bunfig.toml 与环境变量速查。版本基线 Bun 1.2+。运行时/打包/测试命令不在此列。

一、核心命令

命令作用对位 npm
bun install / bun i安装 package.json 全部依赖,写 bun.locknpm install
bun add <pkg>新增依赖并写入 package.jsonnpm install <pkg>
bun remove <pkg> / bun rm卸载依赖npm uninstall <pkg>
bun update [pkg]在 semver range 内升级npm update
bun outdated列出可升级项(Current/Update/Latest)npm outdated
bun patch <pkg>给依赖打补丁(patch-package)
bun link链接本地包供调试npm link
bun ci= install --frozen-lockfilenpm ci
bunx <pkg> / bun x一次性执行包的 binnpx <pkg>

二、bun install / add 常用标志

标志含义
-d / --dev / -D加入 devDependencies
--optional / --peer加入 optional / peer 依赖
-g / --global全局安装
-E / --exact写精确版本(不加 ^
--frozen-lockfile严格按锁文件装,不一致即报错且不更新
--production不装 devDependencies / optionalDependencies
--omit dev|optional|peer按类型排除依赖
--save-text-lockfile生成文本锁文件 bun.lock
--lockfile-only只生成锁文件不实际安装
--filter <pattern>只对匹配的工作区操作
--linker hoisted|isolated选择安装策略
--trust把包加入 trustedDependencies 并安装
--dry-run模拟,不真正安装
--force强制拉最新并重装
--backend clonefile|hardlink|symlink|copyfile文件物化方式
--minimum-release-age <秒>只装发布满指定时长的版本

三、bun update 标志

标志含义
--latest突破 package.json 的 range 升到绝对最新
-i / --interactive交互式勾选要升级的包
-r / --recursive配合 -i 跨工作区升级

四、bun pm 工具族

子命令作用
bun pm ls [--all]列已装依赖及解析版本(--all 含传递依赖)
bun pm cache [rm]显示 / 清除全局缓存
bun pm hash生成/显示锁文件哈希
bun pm bin [-g]输出 node_modules/.bin-g 全局 bin)路径
bun pm whoami打印当前登录的 npm 用户名
bun pm pkg get/set/delete/fix读写 / 修复 package.json 字段
bun pm version <patch|minor|major>升版本号
bun pm pack打出将发布到 npm 的 .tgz
bun pm migrate迁移其它包管理器的锁文件(不安装)
bun pm trust <names> [--all]放行 untrusted 依赖的脚本并写入 trustedDependencies
bun pm untrusted列出被拦下脚本的依赖
bun pm default-trusted显示默认信任列表

五、bunfig.toml [install]

toml
[install]
optional = true            # 装 optionalDependencies
dev = true                 # 装 devDependencies
peer = true                # 装 peerDependencies(默认 true)
production = false          # 等价 --production
exact = false              # 等价 --exact
frozenLockfile = false     # 等价 --frozen-lockfile
saveTextLockfile = true    # 1.2 起默认 true(文本 bun.lock)
linker = "hoisted"         # 或 "isolated"
concurrentScripts = 16     # 并发生命周期脚本数(默认 CPU×2)
registry = "https://registry.npmjs.org"
minimumReleaseAge = 259200            # 只装发布满 3 天的版本(秒)
minimumReleaseAgeExcludes = ["@types/node", "typescript"]

[install.scopes]           # 按作用域配私有 registry
myorg = { token = "$npm_token", url = "https://registry.myorg.com/" }

[install.cache]
dir = "~/.bun/install/cache"
disable = false            # 跳过全局缓存
disableManifest = false    # 总是拉最新 manifest

[install.lockfile]
save = true
print = "yarn"             # 额外生成 yarn.lock

搜索顺序:$HOME/.bunfig.toml(全局)→ ./bunfig.toml(项目),两者合并;环境变量优先级高于 bunfig.toml

六、常用环境变量

变量作用
BUN_CONFIG_REGISTRY设置 npm registry
BUN_CONFIG_YARN_LOCKFILE额外生成 yarn.lock
BUN_CONFIG_SKIP_SAVE_LOCKFILE不保存锁文件
BUN_CONFIG_SKIP_INSTALL_PACKAGES不安装任何包

命令查完,进 指南 · 基础 理解机制,或 指南 · 进阶 看 workspaces / catalog / 私有源实战。