import Bunx from "/snippets/cli/bunx.mdx";
NOTE
`bunx` est un alias pour `bun x`. Le CLI `bunx` sera auto-installé lorsque vous installez `bun`.Utilisez bunx pour auto-installer et exécuter des packages depuis npm. C'est l'équivalent de Bun pour npx ou yarn dlx.
bunx cowsay "Hello world!"NOTE
⚡️ **Vitesse** — Avec les temps de démarrage rapides de Bun, `bunx` est [environ 100 fois plus rapide](https://twitter.com/jarredsumner/status/1606163655527059458) que `npx` pour les packages installés localement.Les packages peuvent déclarer des exécutables dans le champ "bin" de leur package.json. Ceux-ci sont connus sous le nom d'exécutables de package ou binaires de package.
{
// ... autres champs
"name": "my-cli",
"bin": {
"my-cli": "dist/index.js"
}
}Ces exécutables sont généralement des fichiers JavaScript simples marqués avec une ligne shebang pour indiquer quel programme doit être utilisé pour les exécuter. Le fichier suivant indique qu'il doit être exécuté avec node.
#!/usr/bin/env node
console.log("Hello world!");Ces exécutables peuvent être exécutés avec bunx,
bunx my-cliComme avec npx, bunx vérifiera d'abord un package installé localement, puis se rabattra sur l'auto-installation du package depuis npm. Les packages installés seront stockés dans le cache global de Bun pour une utilisation future.
Arguments et drapeaux
Pour passer des drapeaux et arguments de ligne de commande supplémentaires à l'exécutable, placez-les après le nom de l'exécutable.
bunx my-cli --foo barShebangs
Par défaut, Bun respecte les shebangs. Si un exécutable est marqué avec #!/usr/bin/env node, Bun démarrera un processus node pour exécuter le fichier. Cependant, dans certains cas, il peut être souhaitable d'exécuter des exécutables en utilisant le runtime de Bun, même si l'exécutable indique le contraire. Pour ce faire, incluez le drapeau --bun.
bunx --bun my-cliLe drapeau --bun doit apparaître avant le nom de l'exécutable. Les drapeaux qui apparaissent après le nom sont passés à l'exécutable.
bunx --bun my-cli # bon
bunx my-cli --bun # mauvaisDrapeau Package
--package <pkg> ou -p <pkg> - Exécuter le binaire depuis un package spécifique. Utile lorsque le nom du binaire diffère du nom du package :
bunx -p renovate renovate-config-validator
bunx --package @angular/cli ngPour forcer bun à toujours être utilisé avec un script, utilisez un shebang.
#!/usr/bin/env bun