Installation
kache requires Rust 1.95 or later and is built with the 2024 edition (Cargo.toml edition = "2024"). The binary is self-contained — no runtime dependencies.
Methods
mise downloads the pre-built binary from GitHub releases and pins the version per project or globally.
# install globally
mise use -g github:kunobi-ninja/kache@latest
# or pin a specific version
mise use -g github:kunobi-ninja/kache@0.5.0To pin kache in your project so every contributor gets the same version, add it to your mise.toml:
[tools]
"github:kunobi-ninja/kache" = "latest"Running mise install in the project root will install the pinned version.
cargo-binstall downloads the pre-built binary from GitHub releases without compiling.
cargo binstall kacheEvery release (including RCs) is published to crates.io, so the plain crate
name works. To install an unreleased branch build instead, use the --git
form: cargo binstall --git https://github.com/kunobi-ninja/kache kache.
If a pre-built binary isn't available for your target, use the source install method below.
cargo install kacheThis compiles kache with your local toolchain. It takes a couple of minutes
and works on Linux, macOS, and Windows (with the MSVC toolchain). To build an
unreleased branch instead, use cargo install --git https://github.com/kunobi-ninja/kache kache.
The methods above install the latest stable release. Release-candidates are
published but never resolve as "latest", so request one explicitly:
cargo install kache --version 0.6.0-rc.1 (or cargo binstall kache@0.6.0-rc.1).
OS package managers
kache is also published to Homebrew, APT, and winget. Each has a stable channel and an unstable channel (release-candidates / betas).
# Stable
brew install kunobi-ninja/kunobi/kache
# Unstable (RC/beta)
brew install kunobi-ninja/kunobi/kache-unstableInstall the signing key once, then add the repo — stable or unstable suite:
# Signing key (KMS-rooted OpenPGP cert), dearmored into a keyring
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://r2.kunobi.com/kache/apt/gpg.key \
| sudo gpg --dearmor -o /etc/apt/keyrings/kache.gpg
# Stable
echo "deb [signed-by=/etc/apt/keyrings/kache.gpg] https://r2.kunobi.com/kache/apt stable main" \
| sudo tee /etc/apt/sources.list.d/kache.list
# Unstable (RC/beta) — swap the suite instead:
# echo "deb [signed-by=/etc/apt/keyrings/kache.gpg] https://r2.kunobi.com/kache/apt unstable main" \
# | sudo tee /etc/apt/sources.list.d/kache.list
sudo apt update && sudo apt install kacheStable .debs also land in the unstable suite, so an unstable subscriber still receives GA releases.
# Stable
winget install kunobi-ninja.kache
# Unstable (RC/beta)
winget install kunobi-ninja.kache.UnstableSupported platforms
Pre-built binaries are available for:
| Target | Notes |
|---|---|
x86_64-unknown-linux-musl | Statically linked, works on any Linux |
aarch64-unknown-linux-musl | ARM Linux (AWS Graviton, etc.) |
x86_64-apple-darwin | Intel macOS |
aarch64-apple-darwin | Apple Silicon |
x86_64-pc-windows-msvc | Windows x64 (MSVC) |
aarch64-pc-windows-msvc | Windows ARM64 (MSVC) |
Verify the installation
kache --version
You should see a version string like kache 0.5.0. If the command isn't found, make sure the binary is on your PATH (mise handles this automatically).
Next: enable kache for cargo
Installing the binary doesn't yet wire it into cargo. Run kache init to configure your cargo config (~/.cargo/config.toml, or the legacy ~/.cargo/config if that file already exists), install the daemon as a login service, and start it — see Quick start for the full walkthrough.
kache
Zero-copy, content-addressed build cache for Rust and C/C++ object compiles. No copies, no wasted disk — zero-copy restores locally and S3 for Rust artifact sharing.
Quick start
Run kache init, watch a cold build populate the cache, then see the second build restore every artifact with zero-copy reflinks.