Bun

Installation

Bun ships as a single executable that can be installed a few different ways.

Windows users — Bun does not currently provide a native Windows build. We're working on this; progress can be tracked at this issue. In the meantime, use one of the installation methods below for Windows Subsystem for Linux.

Linux users — Kernel version 5.6 or higher is strongly recommended, but the minimum is 5.1.

Native
npm
Homebrew
Docker
proto
Native
curl -fsSL https://bun.sh/install | bash # for macOS, Linux, and WSL
npm
npm install -g bun # the last `npm` command you'll ever need
Homebrew
brew tap oven-sh/bun # for macOS and Linux
brew install bun
Docker
docker pull oven/bun
docker run --rm --init --ulimit memlock=-1:-1 oven/bun
proto
proto install bun

Upgrading

Once installed, the binary can upgrade itself.

bun upgrade

Homebrew users — To avoid conflicts with Homebrew, use brew upgrade bun instead.

proto users - Use proto install bun --pin instead.

Bun automatically releases an (untested) canary build on every commit to main. To upgrade to the latest canary build:

bun upgrade --canary

View canary build

TypeScript

To install TypeScript definitions for Bun's built-in APIs in your project, install bun-types.

bun add -d bun-types # dev dependency

Then include "bun-types" in the compilerOptions.types in your tsconfig.json:

{
  "compilerOptions": {
    "types": ["bun-types"]
  }
}

Refer to Ecosystem > TypeScript for a complete guide to TypeScript support in Bun.

Completions

Shell auto-completion should be configured automatically when Bun is installed.

If not, run the following command. It uses $SHELL to determine which shell you're using and writes a completion file to the appropriate place on disk. It's automatically re-run on every bun upgrade.

bun completions

To write the completions to a custom location:

bun completions > path-to-file      # write to file
bun completions /path/to/directory  # write into directory