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