import Bunx from "/it/snippets/cli/bunx.mdx";
NOTE
`bunx` è un alias per `bun x`. La CLI `bunx` verrà installata automaticamente quando installi `bun`.Usa bunx per installare automaticamente ed eseguire pacchetti da npm. È l'equivalente di Bun di npx o yarn dlx.
bunx cowsay "Hello world!"NOTE
⚡️ **Velocità** — Con i tempi di avvio rapidi di Bun, `bunx` è [circa 100 volte più veloce](https://twitter.com/jarredsumner/status/1606163655527059458) di `npx` per i pacchetti installati localmente.I pacchetti possono dichiarare eseguibili nel campo "bin" del loro package.json. Questi sono conosciuti come eseguibili di pacchetto o binari di pacchetto.
{
// ... altri campi
"name": "my-cli",
"bin": {
"my-cli": "dist/index.js"
}
}Questi eseguibili sono comunemente file JavaScript semplici contrassegnati con una linea shebang per indicare quale programma dovrebbe essere usato per eseguirli. Il file seguente indica che dovrebbe essere eseguito con node.
#!/usr/bin/env node
console.log("Hello world!");Questi eseguibili possono essere eseguiti con bunx,
bunx my-cliCome con npx, bunx controllerà prima un pacchetto installato localmente, poi ricorrerà all'installazione automatica del pacchetto da npm. I pacchetti installati verranno archiviati nella cache globale di Bun per uso futuro.
Argomenti e flag
Per passare flag e argomenti aggiuntivi da riga di comando all'eseguibile, posizionali dopo il nome dell'eseguibile.
bunx my-cli --foo barShebang
Per impostazione predefinita, Bun rispetta gli shebang. Se un eseguibile è contrassegnato con #!/usr/bin/env node, Bun avvierà un processo node per eseguire il file. Tuttavia, in alcuni casi potrebbe essere desiderabile eseguire gli eseguibili usando il runtime di Bun, anche se l'eseguibile indica diversamente. Per farlo, includi il flag --bun.
bunx --bun my-cliIl flag --bun deve apparire prima del nome dell'eseguibile. I flag che appaiono dopo il nome vengono passati all'eseguibile.
bunx --bun my-cli # corretto
bunx my-cli --bun # erratoFlag Package
--package <pkg> o -p <pkg> - Esegui il binario da un pacchetto specifico. Utile quando il nome del binario differisce dal nome del pacchetto:
bunx -p renovate renovate-config-validator
bunx --package @angular/cli ngPer forzare l'uso di bun con uno script, usa uno shebang.
#!/usr/bin/env bun