import Bunx from "/pt/snippets/cli/bunx.mdx";
NOTE
`bunx` é um alias para `bun x`. O `bunx` CLI será instalado automaticamente quando você instalar o `bun`.Use bunx para instalar automaticamente e executar pacotes do npm. É o equivalente do Bun ao npx ou yarn dlx.
bunx cowsay "Hello world!"NOTE
⚡️ **Velocidade** — Com os tempos de inicialização rápidos do Bun, `bunx` é [cerca de 100x mais rápido](https://twitter.com/jarredsumner/status/1606163655527059458) que `npx` para pacotes instalados localmente.Pacotes podem declarar executáveis no campo "bin" do seu package.json. Estes são conhecidos como executáveis de pacote ou binários de pacote.
{
// ... outros campos
"name": "my-cli",
"bin": {
"my-cli": "dist/index.js"
}
}Estes executáveis são normalmente arquivos JavaScript simples marcados com uma linha shebang para indicar qual programa deve ser usado para executá-los. O seguinte arquivo indica que deve ser executado com node.
#!/usr/bin/env node
console.log("Hello world!");Estes executáveis podem ser executados com bunx,
bunx my-cliAssim como npx, bunx verificará primeiro um pacote instalado localmente e, em seguida, voltará para instalar automaticamente o pacote do npm. Os pacotes instalados serão armazenados no cache global do Bun para uso futuro.
Argumentos e flags
Para passar flags e argumentos de linha de comando adicionais para o executável, coloque-os após o nome do executável.
bunx my-cli --foo barShebangs
Por padrão, o Bun respeita shebangs. Se um executável estiver marcado com #!/usr/bin/env node, o Bun iniciará um processo node para executar o arquivo. No entanto, em alguns casos, pode ser desejável executar executáveis usando o runtime do Bun, mesmo que o executável indique o contrário. Para fazer isso, inclua a flag --bun.
bunx --bun my-cliA flag --bun deve aparecer antes do nome do executável. Flags que aparecem depois do nome são passadas para o executável.
bunx --bun my-cli # bom
bunx my-cli --bun # ruimFlag de pacote
--package <pkg> ou -p <pkg> - Executar binário de um pacote específico. Útil quando o nome do binário difere do nome do pacote:
bunx -p renovate renovate-config-validator
bunx --package @angular/cli ngPara forçar o bun a ser sempre usado com um script, use um shebang.
#!/usr/bin/env bun