Skip to main content
bunxbun x 的别名。安装 bun 时会自动安装 bunx CLI。
使用 bunx 来自动安装并运行 npm 上的包。它是 Bun 对 npxyarn dlx 的替代方案。
terminal
⚡️ 速度 — 凭借 Bun 的快速启动时间,对于本地安装的包,bunx 大约比 npx 快 100 倍
包可以在其 package.json"bin" 字段中声明可执行文件。这些被称为 包可执行文件包二进制文件
package.json
这些可执行文件通常是普通的 JavaScript 文件,带有 shebang 行 来指定运行它们的程序。以下文件使用 node 运行。
dist/index.js
使用 bunx 运行这些可执行文件:
terminal
npx 类似,bunx 首先检查本地是否已安装该包,如果没有,则从 npm 自动安装。安装的包会存储在 Bun 的全局缓存中以供将来使用。

参数和标志

要将额外的命令行标志和参数传递给可执行文件,请将它们放在可执行文件名称之后。
terminal

Shebangs

默认情况下,Bun 遵循 shebang。如果可执行文件标记有 #!/usr/bin/env node,Bun 会启动一个 node 进程来执行该文件。要使用 Bun 运行时来运行可执行文件,请传递 --bun 标志。
terminal
--bun 标志必须出现在可执行文件名称_之前_。出现在名称_之后_的标志会传递给可执行文件。
terminal

包标志

--package <pkg>-p <pkg> - 从特定包运行二进制文件。当二进制文件名与包名不同时很有用:
terminal
要强制脚本始终使用 Bun 运行,请为其指定 bun shebang。
dist/index.js

用法

执行 npm 包的可执行文件(CLI)。如果该包未安装在 node_modules 中,Bun 会将其安装到全局共享缓存中。

标志

--bun
boolean
强制命令使用 Bun 而非 Node.js 运行,即使可执行文件包含 Node shebang(#!/usr/bin/env node
-p, --package
string
当二进制名称与包名称不同时指定要安装的包
--no-install
boolean
如果包尚未安装,跳过安装
--verbose
boolean
安装期间启用详细输出
--silent
boolean
安装期间禁止输出

示例

terminal