Bun ships as a single executable with no dependencies that can be installed a few different ways.
Installing
macOS and Linux
Linux users — The unzip
package is required to install Bun. Use sudo apt install unzip
to install unzip
package. Kernel version 5.6 or higher is strongly recommended, but the minimum is 5.1. Use uname -r
to check Kernel version.
curl -fsSL https://bun.sh/install | bash # for macOS, Linux, and WSL
# to install a specific version
curl -fsSL https://bun.sh/install | bash -s "bun-v1.0.0"
npm install -g bun # the last `npm` command you'll ever need
brew install oven-sh/bun/bun # for macOS and Linux
docker pull oven/bun
docker run --rm --init --ulimit memlock=-1:-1 oven/bun
Windows
To install, paste this into a terminal:
powershell -c "irm bun.sh/install.ps1|iex"
npm install -g bun # the last `npm` command you'll ever need
scoop install bun
Bun requires a minimum of Windows 10 version 1809
For support and discussion, please join the #windows channel on our Discord.
Docker
Bun provides a Docker image that supports both Linux x64 and arm64.
docker pull oven/bun
docker run --rm --init --ulimit memlock=-1:-1 oven/bun
There are also image variants for different operating systems.
docker pull oven/bun:debian
docker pull oven/bun:slim
docker pull oven/bun:distroless
# alpine not recommended until #918 is fixed
# $ docker pull oven/bun:alpine
Checking installation
To check that Bun was installed successfully, open a new terminal window and run bun --version
.
bun --version
1.x.y
To see the precise commit of oven-sh/bun that you're using, run bun --revision
.
bun --revision
1.x.y+b7982ac13189
If you've installed Bun but are seeing a command not found
error, you may have to manually add the installation directory (~/.bun/bin
) to your PATH
.
How to add to your PATH
Upgrading
Once installed, the binary can upgrade itself.
bun upgrade
Homebrew users — To avoid conflicts with Homebrew, use brew upgrade bun
instead.
Scoop users — To avoid conflicts with Scoop, use scoop update bun
instead.
Canary builds
Bun automatically releases an (untested) canary build on every commit to main
. To upgrade to the latest canary build:
bun upgrade --canary
The canary build is useful for testing new features and bug fixes before they're released in a stable build. To help the Bun team fix bugs faster, canary builds automatically upload crash reports to Bun's team.
Note — To switch back to a stable release from canary, run bun upgrade --stable
.
Installing older versions of Bun
Since Bun is a single binary, you can install older versions of Bun by re-running the installer script with a specific version.
Installing a specific version of Bun on Linux/Mac
To install a specific version of Bun, you can pass the git tag of the version you want to install to the install script, such as bun-v1.1.6
or bun-v1.1.1
.
curl -fsSL https://bun.sh/install | bash -s "bun-v1.1.6"
Installing a specific version of Bun on Windows
On Windows, you can install a specific version of Bun by passing the version number to the Powershell install script.
# PowerShell:
iex "& {$(irm https://bun.sh/install.ps1)} -Version 1.1.6"
Downloading Bun binaries directly
To download Bun binaries directly, you can visit the releases page page on GitHub.
For convenience, here are download links for the latest version:
bun-linux-x64.zip
bun-linux-x64-baseline.zip
bun-windows-x64.zip
bun-windows-x64-baseline.zip
bun-darwin-aarch64.zip
bun-linux-aarch64.zip
bun-darwin-x64.zip
bun-darwin-x64-baseline.zip
The baseline
binaries are built for older CPUs which may not support AVX2 instructions. If you run into an "Illegal Instruction" error when running Bun, try using the baseline
binaries instead. Bun's install scripts automatically choose the correct binary for your system which helps avoid this issue. Baseline builds are slower than regular builds, so use them only if necessary.
Uninstall
If you need to remove Bun from your system, use the following commands.
rm -rf ~/.bun # for macOS, Linux, and WSL
powershell -c ~\.bun\uninstall.ps1
scoop uninstall bun
npm uninstall -g bun
brew uninstall bun