import Bunx from "/snippets/cli/bunx.mdx";
NOTE
`bunx` は `bun x` のエイリアスです。`bun` をインストールすると、`bunx` CLI が自動的にインストールされます。bunx を使用して、npm からパッケージを自動インストールし実行します。これは npx や yarn dlx に相当する Bun の機能です。
bunx cowsay "Hello world!"NOTE
⚡️ **速度** — Bun の高速な起動時間により、`bunx` はローカルにインストールされたパッケージの場合、`npx` より[およそ 100 倍高速](https://twitter.com/jarredsumner/status/1606163655527059458) です。パッケージは package.json の "bin" フィールドで実行可能ファイルを宣言できます。これらは パッケージ実行可能ファイル または パッケージバイナリ として知られています。
{
// ... その他のフィールド
"name": "my-cli",
"bin": {
"my-cli": "dist/index.js"
}
}これらの実行可能ファイルは通常、shebang line でマークされた通常の JavaScript ファイルで、どのプログラムで実行すべきかを示します。次のファイルは node で実行されることを示しています。
#!/usr/bin/env node
console.log("Hello world!");これらの実行可能ファイルは bunx で実行できます。
bunx my-clinpx と同様に、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 # 良い
bunx my-cli --bun # 悪いパッケージフラグ
--package <pkg> または -p <pkg> - 特定のパッケージからバイナリを実行します。バイナリ名がパッケージ名と異なる場合に役立ちます。
bunx -p renovate renovate-config-validator
bunx --package @angular/cli ngスクリプトで常に bun が使用されるようにするには、shebang を使用します。
#!/usr/bin/env bun