1. bun 이란?
bun
은 Zig로 만들어진 올인원 런타임 toolkit 입니다. 올인원이라고 하는 이유는 bun은 런타임 실행이 가능하고, npm, yarn 과 같이 패키지 매니저 역할도 하며, 번들러 & 트랜스파일러 역할도 합니다.
Zig는 (C 언어의 대안으로 나온) 시스템 프로그래밍을 위해 설계된 프로그래밍 언어입니다.
1.1. 런타임 실행
예를 들어, 런타임 실행을 할때는 다음과 같이 실행할 수 있습니다.
# node 명령어 대신해서 사용 가능
bun run script.js
1.2. 패키지 매니저
또는 npm, pnpm, yarn과 같이 패키지 매니저 역할도 하기 때문에 bun install
명령어를 사용하여 의존성(dependency)을 설치할 수 있습니다. 그리고, 다른 패키지 매니저에 비해 설치 속도가 매우 빠른 장점이 있습니다.
1.3. 번들러 & 트랜스파일러
다음 명령어를 통해, 별도의 Webpack, Rollup 없이 JSX
, TSX
, TailwindCSS
같은 최신 문법을 네이티브로 지원해줍니다.
bun build entry.tsx --target=esnext



2. macOS에 설치
macOS에서는 bun을 brew로 설치할 수 있습니다.
brew install oven-sh/bun/bun
설치가 완료되면 --version
명령어로 정상적으로 설치가 되었는지 확인 할 수 있습니다.
> bun --version
1.2.19
3. bun 사용하기
3.1. 프로젝트 생성
npm, yarn 과 같이 사용하여 CRA 혹은 vite 프로젝트를 생성할 수 있습니다.
# CRA로 생성하기
bun create react-app my-bun-app
# Vite로 생성하기
bun create vite my-bun-app


3.2. 의존성 추가하기
다음과 같이 yarn 과 동일한 명령어로 의존성을 추가할 수 있습니다.
# axios 의존성 추가하기
bun add axios
# axios 의존성 삭제하기
bun remove axios