Skip to main content
bunxbun x 的别名。安装 bun 时会自动安装 bunx CLI。
使用 bunx 来自动安装并运行来自 npm 的包。它是 Bun 版本的 npxyarn dlx
terminal
⚡️ 速度 — 利用 Bun 的快速启动时间,bunx 在运行本地安装的包时比 npx 快大约 100 倍
包可以在它们的 package.json 文件中的 "bin" 字段声明可执行文件。这些被称为 包可执行文件包二进制文件
package.json
这些可执行文件通常是带有 shebang 行的纯 JavaScript 文件,其中会指定用于运行它们的程序。以下文件使用 node 运行。
dist/index.js
使用 bunx 运行这些可执行文件:
terminal
npx 一样,bunx 会先检查本地安装的包,然后再从 npm 自动安装该包。已安装的包会存储在 Bun 的全局缓存中,以便将来使用。

参数和标志

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

Shebang 行

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

Package 标志

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

使用方法

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

参数

boolean
强制命令使用 Bun 运行而非 Node.js,即使可执行文件包含 Node 的 shebang(#!/usr/bin/env node
string
当二进制名称与包名不同时,指定要安装的包
boolean
如果包尚未安装,则跳过安装
boolean
安装过程中启用详细输出
boolean
安装过程中抑制输出

示例

terminal