curl | bash:
Bun isn't in the official Debian archives, and the upstream installer pipes a script straight into your shell โ this repository packages Bun 1.3.14 as a proper .deb instead. It's GPG-signed, tracked by apt, upgraded with apt upgrade and removed with apt remove. Add the repository once (below), then run:
sudo apt install bunapt install bunWhat is Bun?
Bun is a fast all-in-one JavaScript runtime built from scratch to serve the modern JavaScript ecosystem. It's designed as a drop-in replacement for Node.js with significantly better performance, featuring a built-in bundler, test runner, and package manager all in a single executable.
๐ฅ Key Features of Bun
โก Blazing Fast
Up to 4x faster than Node.js for many workloads, with optimized JavaScript engine and native code compilation.
๐ฆ Built-in Package Manager
Install packages up to 25x faster than npm with built-in package management and lockfile compatibility.
๐ ๏ธ Bundler Included
Native bundler with tree-shaking, code splitting, and hot reloading - no webpack or rollup needed.
๐งช Test Runner
Built-in test runner compatible with Jest API, with parallel execution and watch mode.
๐ Node.js Compatible
Drop-in replacement for Node.js with excellent compatibility for existing npm packages and APIs.
๐ TypeScript Native
Run TypeScript files directly without compilation step, with built-in transpilation.
๐ฆ Installation from deb.griffo.io
Step 1: Add Repository
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt updateinstall -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt update๐ There is an always-free mirror. deb-free.griffo.io serves packages free forever โ no account, no subscription, at most 2 months behind upstream, security fixes immediately. It currently carries Ghostty, Oh My Posh and Zed; Bun is not one of them, so the repository above is the only way to get it today โ ask and it can be enrolled.
๐ Available Bun Packages
deb.griffo.io provides three different Bun packages to suit different needs:
Metapackage that automatically installs the latest stable bun-one. This is the recommended choice for most users as it ensures you always get the latest stable release.
sudo apt install bunapt install bunLatest stable release of Bun runtime. This package contains the production-ready version with optimizations for performance and stability.
sudo apt install bun-oneapt install bun-oneProfiling-enabled build of Bun with debugging symbols and profiling capabilities. Ideal for development, debugging, and performance analysis. Slightly larger binary with additional debugging information.
sudo apt install bun-profileapt install bun-profile๐ Managing Multiple Bun Versions
You can install both bun-one and bun-profile simultaneously and switch between them using Debian's update-alternatives system:
Install both versions:
sudo apt install bun-one bun-profileapt install bun-one bun-profileConfigure alternatives (done automatically during package installation):
sudo update-alternatives --install /usr/bin/bun bun /usr/bin/bun-one 100
sudo update-alternatives --install /usr/bin/bun bun /usr/bin/bun-profile 90update-alternatives --install /usr/bin/bun bun /usr/bin/bun-one 100
update-alternatives --install /usr/bin/bun bun /usr/bin/bun-profile 90Switch between versions interactively:
sudo update-alternatives --config bunupdate-alternatives --config bunCheck current version:
bun --version
which bunStep 2: Install Bun
sudo apt install bunapt install bunStep 3: Verify Installation
bun --version
bun --help๐ Quick Start Examples
Create a new project:
mkdir my-bun-app && cd my-bun-app
bun initInstall packages (faster than npm):
bun install express
bun add -d @types/expressRun TypeScript directly:
echo 'console.log("Hello from Bun!")' > app.ts
bun run app.tsBundle for production:
bun build ./app.ts --outdir ./dist --minifyRun tests:
bun test๐ง Configuration
Bun can be configured using a bunfig.toml file in your project root or home directory:
# bunfig.toml
[install]
# Configure package manager behavior
cache = "~/.bun/install/cache"
registry = "https://registry.npmjs.org"
[run]
# Configure script runner
shell = "bash"
[test]
# Configure test runner
preload = ["./setup.ts"]โก Performance Benefits
๐ฆ Package Installation
Up to 25x faster than npm, 4x faster than pnpm for installing dependencies.
๐ Runtime Performance
4x faster than Node.js for many JavaScript workloads with optimized engine.
๐ ๏ธ Bundling Speed
Native bundler significantly faster than webpack, rollup, or esbuild.
๐งช Test Execution
Parallel test execution with built-in runner, faster than Jest or Vitest.
๐ฆ Package Build Repository
The Debian packages are automatically built and maintained in this GitHub repository:
- ๐ฅ bun-debian - Latest release builds
๐ Related Packages
Enhance your development workflow with these complementary tools from deb.griffo.io:
- Zig Programming Language - Systems programming language
- uv Python Manager - Fast Python package manager
- Ghostty Terminal - Fast terminal emulator
- lazygit - Terminal UI for git
๐ Additional Resources
๐ Support This Project
If this repository saves you time and effort, please consider supporting it!