注意 — bunx 是 bun x 的別名。安裝 bun 時,bunx CLI 將被自動安裝。
使用 bunx 從 npm 自動安裝並執行包。它是 Bun 對應的 npx 或 yarn dlx。
bunx cowsay "Hello world!"⚡️ 速度 — 藉助 Bun 快速的啟動時間,對於本地安裝的包,bunx 比 npx 快大約 100 倍。
包可以在其 package.json 的 "bin" 欄位中宣告可執行檔案。這些被稱為包可執行檔案或包二進位制檔案。
{
// ... other fields
"name": "my-cli",
"bin": {
"my-cli": "dist/index.js"
}
}
這些可執行檔案通常是簡單的 JavaScript 檔案,並帶有 shebang 行,以指示應使用哪個程式來執行它們。以下檔案表明它應該使用 node 執行。
#!/usr/bin/env node
console.log("Hello world!");
可以使用 bunx 執行這些可執行檔案,
bunx my-cli與 npx 一樣,bunx 會先檢查本地安裝的包,然後回退到從 npm 自動安裝包。安裝的包將儲存在 Bun 的全域性快取中以供將來使用。
引數和標誌
要將其他命令列標誌和引數傳遞給可執行檔案,請將它們放在可執行名稱之後。
bunx my-cli --foo barShebangs
預設情況下,Bun 會尊重 shebang。如果可執行檔案標記為 #!/usr/bin/env node,Bun 將啟動一個 node 程序來執行該檔案。但是,在某些情況下,即使可執行檔案另有指示,也可能希望使用 Bun 的執行時來執行可執行檔案。為此,請包含 --bun 標誌。
bunx --bun my-cli--bun 標誌必須出現在可執行名稱之前。出現在名稱之後的標誌將傳遞給可執行檔案。
bunx --bun my-cli # goodbunx my-cli --bun # bad包標誌
--package <pkg> 或 -p <pkg> - 從特定包執行二進位制檔案。當二進位制名稱與包名稱不同時很有用
bunx -p renovate renovate-config-validator
bunx --package @angular/cli ng
要強制 bun 始終與指令碼一起使用,請使用 shebang。
#!/usr/bin/env bun