Skip to content

bun run CLI 用法

bash
bun run <file or script>

常规执行选项

--silentboolean
不打印脚本命令
--if-presentboolean
如果入口点不存在则无错误退出
--evalstring
将参数作为脚本执行。别名:-e
--printstring
将参数作为脚本执行并打印结果。别名:-p
--helpboolean
显示此菜单并退出。别名:-h

工作空间管理

--elide-linesnumber default: 10
使用 --filter 时显示的脚本输出行数(默认:10)。设置为 0 显示所有行
--filterstring
在匹配模式的所有工作空间包中运行脚本。别名:-F
--workspacesboolean
在所有工作空间包中运行脚本(来自 package.jsonworkspaces 字段)

运行时与进程控制

--bunboolean
强制脚本或包使用 Bun 运行时而不是 Node.js(通过符号链接 node)。别名:-b
--shellstring
控制 package.json 脚本使用的 shell。支持 bunsystem
--smolboolean
使用较少内存,但更频繁地运行垃圾回收
--expose-gcboolean
在全局对象上暴露 gc()。对 Bun.gc() 无影响
--no-deprecationboolean
抑制所有自定义弃用报告
--throw-deprecationboolean
确定弃用警告是否会导致错误
--titlestring
设置进程标题
--zero-fill-buffersboolean
强制 Buffer.allocUnsafe(size) 为零填充的布尔值
--no-addonsboolean
如果调用 process.dlopen 则抛出错误,并禁用导出条件 node-addons
--unhandled-rejectionsstring
strictthrowwarnnonewarn-with-error-code 之一
--console-depthnumber default: 2
设置 console.log 对象检查的默认深度(默认:2)

开发工作流

--watchboolean
文件更改时自动重启进程
--hotboolean
在 Bun 运行时、测试运行器或打包器中启用自动重载
--no-clear-screenboolean
启用 --hot 或 --watch 时禁用重载时清除终端屏幕

调试

--inspectstring
激活 Bun 的调试器
--inspect-waitstring
激活 Bun 的调试器,执行前等待连接
--inspect-brkstring
激活 Bun 的调试器,在第一行代码设置断点并等待

依赖与模块解析

--preloadstring
在其他模块加载之前导入模块。别名:-r
--requirestring
--preload 的别名,用于 Node.js 兼容性
--importstring
--preload 的别名,用于 Node.js 兼容性
--no-installboolean
禁用 Bun 运行时中的自动安装
--installstring default: auto
配置自动安装行为。可选值:auto(默认,没有 node_modules 时自动安装)、fallback(仅缺失的包)、force(始终)
-iboolean
执行期间自动安装依赖。等同于 --install=fallback
--prefer-offlineboolean
跳过 Bun 运行时中包的陈旧检查并从磁盘解析
--prefer-latestboolean
在 Bun 运行时中使用最新匹配版本的包,始终检查 npm
--conditionsstring
传递自定义条件进行解析
--main-fieldsstring
package.json 中查找的主要字段。默认取决于 --target
--preserve-symlinksboolean
解析文件时保留符号链接
--preserve-symlinks-mainboolean
解析主入口点时保留符号链接
--extension-orderstring default: .tsx,.ts,.jsx,.js,.json
默认值:.tsx,.ts,.jsx,.js,.json

转译与语言功能

--tsconfig-overridestring
指定自定义 tsconfig.json。默认 $cwd/tsconfig.json
--definestring
解析时替换 K:V,例如 --define process.env.NODE_ENV:"development"。值被解析为 JSON。别名:-d
--dropstring
移除函数调用,例如 --drop=console 移除所有 console.* 调用
--loaderstring
使用 .ext:loader 解析文件,例如 --loader .js:jsx。有效加载器:jsjsxtstsxjsontomltextfilewasmnapi。别名:-l
--no-macrosboolean
禁用打包器、转译器和运行时中宏的执行
--jsx-factorystring
更改使用经典 JSX 运行时编译 JSX 元素时调用的函数
--jsx-fragmentstring
更改编译 JSX 片段时调用的函数
--jsx-import-sourcestring default: react
声明用于导入 jsx 和 jsxs 工厂函数的模块说明符。默认:react
--jsx-runtimestring default: automatic
automatic(默认)或 classic
--jsx-side-effectsboolean
将 JSX 元素视为具有副作用(禁用 pure 注释)
--ignore-dce-annotationsboolean
忽略树摇优化注释,如 @__PURE__

网络与安全

--portnumber
设置 Bun.serve 的默认端口
--fetch-preconnectstring
代码加载时预连接到 URL
--max-http-header-sizenumber default: 16384
设置 HTTP 请求头的最大大小(字节)。默认为 16KiB
--dns-result-orderstring default: verbatim
设置 DNS 查找结果的默认顺序。有效顺序:verbatim(默认)、ipv4firstipv6first
--use-system-caboolean
使用系统的可信证书颁发机构
--use-openssl-caboolean
使用 OpenSSL 的默认 CA 存储
--use-bundled-caboolean
使用捆绑的 CA 存储
--redis-preconnectboolean
启动时预连接到 $REDIS_URL
--sql-preconnectboolean
启动时预连接到 PostgreSQL
--user-agentstring
设置 HTTP 请求的默认 User-Agent 头

全局配置与上下文

--env-filestring
从指定文件加载环境变量
--cwdstring
解析文件和入口点的绝对路径。这只更改进程的 cwd
--configstring
指定 Bun 配置文件路径。默认 $cwd/bunfig.toml。别名:-c

示例

运行 JavaScript 或 TypeScript 文件:

bash
bun run ./index.js
bun run ./index.tsx

运行 package.json 脚本:

bash
bun run dev
bun run lint