bun 설치와 사용법: 설치, 스크립트 실행, 패키지 추가, 첫 프로젝트

공식 절차로 bun을 설치하고 스크립트를 실행한 뒤, 패키지 하나를 추가하고 bun init으로 첫 프로젝트를 시작한다.

로컬에서 bun으로 JavaScript나 TypeScript를 실행하려면 네 가지를 먼저 끝낸다. 공식 설치, bun으로 스크립트, bun add로 패키지 하나, bun init으로 첫 프로젝트.

bun.sh/docs/installation을 따르고 패키지 이름을 짐작하지 않는다. 검색어는 bun 설치, bun add, bun init. 설치는 bun.sh.

bunOven 명령 이름
addpackage.json 작성
init첫 프로젝트 생성

OS에 맞춰 공식 바이너리를 설치한다

macOS와 Linux

공식 스크립트: curl -fsSL https://bun.sh/install | bash. 또는 brew install oven-sh/bun/bun. 새 터미널에서 bun --version.

Windows

PowerShell: powershell -c "irm bun.sh/install.ps1 | iex". 새 세션에서 bun이 PATH에 있는지 확인한다.

단계명령주의
설치bun --version현재 셸이 공식 바이너리를 찾아야 함
실행bun hello.ts.js / .ts를 바로 실행. 먼저 컴파일할 필요 없음
의존성bun add zod이름은 npm registry. lockfile이 갱신됨
생성bun initpackage.json이 생겨야 함

설치, 실행, 패키지 추가, 생성

  1. 01
    설치하고 버전을 확인한다

    bun.sh/docs/installation의 스크립트 또는 Homebrew. bun --version이 버전을 찍어야 한다. 명령이 없으면 새 터미널과 PATH. 업그레이드는 bun upgrade.

  2. 02
    스크립트를 실행한다

    hello.ts(또는 hello.js)를 쓰고 bun hello.ts. bun은 런타임을 포함하므로 먼저 tsc가 필요 없다. package.json 스크립트는 bun run <script>.

  3. 03
    패키지 하나를 추가한다

    프로젝트에서 예로 bun add zod. bun이 의존성을 풀고 lockfile을 쓴다. 실패하면 패키지명과 네트워크. 반쯤 쓴 lockfile을 손으로 고치지 않는다.

  4. 04
    첫 프로젝트를 시작한다

    빈 폴더에서 bun init. 안내에 따라 package.json과 진입 파일이 생긴다. 그다음 bun run 또는 bun index.ts. 기존 저장소는 bun install.

curl -fsSL https://bun.sh/install | bash
bun --version
printf 'console.log("ok")\n' > hello.ts
bun hello.ts
mkdir myproject && cd myproject
bun init
bun add zod
# 진입 파일을 쓴 뒤:
bun index.ts
공식 설치 스크립트가 필수인가?
아니다. 문서에 Homebrew, npm, Scoop 등도 있다. 하나를 고르고 bun --version으로 확인한다. PATH를 다투는 여러 복사본을 섞지 않는다.
TypeScript를 돌리려면 먼저 Node가 필요한가?
일상에는 필요 없다. bun은 런타임을 갖고 .ts를 바로 실행한다. 스크립트가 node로 고정되어 있으면 공식 호환 설명을 본다.
bun add와 npm install의 차이는?
둘 다 의존성을 더한다. bun add는 bun 해석기와 lockfile(bun.lock)을 쓴다. 같은 디렉터리에서 npm / pnpm / bun 잠금 파일을 섞지 않는다.
설치하면 공유 그림을 대체하는가?
아니다. 로컬 JavaScript 툴체인이다. 회의가 같은 그림이면 sitdraw를 연다.

먼저 bun을 PATH에 넣는다

bun --version이 될 때까지 실패한 init을 템플릿 버그로 보지 않는다. 대부분은 설치 스크립트가 바꾼 PATH를 현재 셸이 읽지 않은 것이다.

그리기 시작