import Bunx from "/es/snippets/cli/bunx.mdx";
NOTE
`bunx` es un alias para `bun x`. El CLI `bunx` se auto-instalará cuando instales `bun`.Usa bunx para auto-instalar y ejecutar paquetes desde npm. Es el equivalente de Bun a npx o yarn dlx.
bunx cowsay "Hello world!"NOTE
⚡️ **Velocidad** — Con los tiempos de inicio rápidos de Bun, `bunx` es [aproximadamente 100 veces más rápido](https://twitter.com/jarredsumner/status/1606163655527059458) que `npx` para paquetes instalados localmente.Los paquetes pueden declarar ejecutables en el campo "bin" de su package.json. Estos se conocen como ejecutables de paquete o binarios de paquete.
{
// ... otros campos
"name": "my-cli",
"bin": {
"my-cli": "dist/index.js"
}
}Estos ejecutables son comúnmente archivos JavaScript simples marcados con una línea shebang para indicar qué programa debe usarse para ejecutarlos. El siguiente archivo indica que debe ejecutarse con node.
#!/usr/bin/env node
console.log("Hello world!");Estos ejecutables pueden ejecutarse con bunx,
bunx my-cliAl igual que con npx, bunx verificará primero si hay un paquete instalado localmente, luego volverá a auto-instalar el paquete desde npm. Los paquetes instalados se almacenarán en la caché global de Bun para uso futuro.
Argumentos y banderas
Para pasar banderas y argumentos adicionales de línea de comandos al ejecutable, colóquelos después del nombre del ejecutable.
bunx my-cli --foo barShebangs
Por defecto, Bun respeta los shebangs. Si un ejecutable está marcado con #!/usr/bin/env node, Bun iniciará un proceso node para ejecutar el archivo. Sin embargo, en algunos casos puede ser deseable ejecutar ejecutables usando el runtime de Bun, incluso si el ejecutable indica lo contrario. Para hacerlo, incluye la bandera --bun.
bunx --bun my-cliLa bandera --bun debe aparecer antes del nombre del ejecutable. Las banderas que aparecen después del nombre se pasan al ejecutable.
bunx --bun my-cli # correcto
bunx my-cli --bun # incorrectoBandera de paquete
--package <pkg> o -p <pkg> - Ejecutar binario desde un paquete específico. Útil cuando el nombre del binario difiere del nombre del paquete:
bunx -p renovate renovate-config-validator
bunx --package @angular/cli ngPara forzar que bun siempre se use con un script, usa un shebang.
#!/usr/bin/env bun