Skip to content

import Bunx from "/snippets/cli/bunx.mdx";

NOTE

`bunx` 는 `bun x` 의 별칭입니다. `bun` 을 설치하면 `bunx` CLI 가 자동으로 설치됩니다.

bunx 를 사용하여 npm 에서 패키지를 자동으로 설치하고 실행할 수 있습니다. 이는 npx 또는 yarn dlx 와 유사한 Bun 의 기능입니다.

bash
bunx cowsay "Hello world!"

NOTE

⚡️ **속도** — Bun 의 빠른 시작 시간으로 인해 `bunx` 는 로컬에 설치된 패키지의 경우 `npx` 보다 [약 100 배 더 빠릅니다](https://twitter.com/jarredsumner/status/1606163655527059458).

패키지는 package.json"bin" 필드에 실행 파일을 선언할 수 있습니다. 이를 패키지 실행 파일 또는 패키지 바이너리 라고 합니다.

json
{
  // ... 기타 필드
  "name": "my-cli",
  "bin": {
    "my-cli": "dist/index.js"
  }
}

이러한 실행 파일은 일반적으로 shebang 라인 이 표시된 일반 JavaScript 파일로, 어떤 프로그램으로 실행해야 하는지를 나타냅니다. 다음 파일은 node 로 실행해야 함을 나타냅니다.

js
#!/usr/bin/env node

console.log("Hello world!");

이러한 실행 파일은 bunx 로 실행할 수 있습니다.

bash
bunx my-cli

npx 와 마찬가지로 bunx 는 로컬에 설치된 패키지를 먼저 확인한 후, 패키지가 없으면 npm 에서 자동으로 설치합니다. 설치된 패키지는 향후 사용을 위해 Bun 의 전역 캐시에 저장됩니다.

인자 및 플래그

실행 파일에 추가 명령줄 플래그와 인자를 전달하려면 실행 파일 이름 뒤에 배치합니다.

bash
bunx my-cli --foo bar

Shebang

기본적으로 Bun 은 shebang 을 존중합니다. 실행 파일이 #!/usr/bin/env node 로 표시된 경우 Bun 은 node 프로세스를 시작하여 파일을 실행합니다. 그러나 경우에 따라 실행 파일이 다르게 표시되더라도 Bun 런타임을 사용하여 실행 파일을 실행해야 할 수 있습니다. 이렇게 하려면 --bun 플래그를 포함합니다.

bash
bunx --bun my-cli

--bun 플래그는 실행 파일 이름 앞에 와야 합니다. 이름 뒤에 오는 플래그는 실행 파일로 전달됩니다.

bash
bunx --bun my-cli # 좋음
bunx my-cli --bun # 나쁨

패키지 플래그

--package <pkg> 또는 -p <pkg> - 특정 패키지의 바이너리 실행. 바이너리 이름이 패키지 이름과 다를 때 유용합니다.

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

스크립트에서 항상 bun 이 사용되도록 하려면 shebang 을 사용합니다.

js
#!/usr/bin/env bun

Bun by www.bunjs.com.cn 편집