Skip to content

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.

bash
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.

json
{
  // ... 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.

js
#!/usr/bin/env node

console.log("Hello world!");

Ces exécutables peuvent être exécutés avec bunx,

bash
bunx my-cli

Comme 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.

bash
bunx my-cli --foo bar

Shebangs

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.

bash
bunx --bun my-cli

Le 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.

bash
bunx --bun my-cli # bon
bunx my-cli --bun # mauvais

Drapeau 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 :

bash
bunx -p renovate renovate-config-validator
bunx --package @angular/cli ng

Pour forcer bun à toujours être utilisé avec un script, utilisez un shebang.

js
#!/usr/bin/env bun

Bun édité par www.bunjs.com.cn