ninja

🚀️ Always up-to-date Ninja binaries for Linux, Windows, macOS, and FreeBSD - just download and use it.

GitHub Release Downloads License Linux Windows macOS FreeBSD

Install

The command installs Ninja to /usr/local/bin. Replace it with a different path if needed.

curl -sSL https://github.com/prepkg/ninja/releases/latest/download/ninja-x86_64-linux-gnu.tar.gz \ | sudo tar xz -C /usr/local/bin

The command installs Ninja in the current directory. Replace .\ with a different path if needed.

curl -sSL https://github.com/prepkg/ninja/releases/latest/download/ninja-x86_64-windows-msvc.tar.gz \ | tar xz -C .\

The command installs Ninja to /usr/local/bin. Replace it with a different path if needed.

curl -sSL https://github.com/prepkg/ninja/releases/latest/download/ninja-aarch64-macos-clang.tar.gz \ | sudo tar xz -C /usr/local/bin

The command installs Ninja to /usr/local/bin. Replace it with a different path if needed.

curl -sSL https://github.com/prepkg/ninja/releases/latest/download/ninja-x86_64-freebsd-clang.tar.gz \ | sudo tar xz -C /usr/local/bin

Why?

Outdated distro packages

Many Linux distributions ship outdated Ninja versions through their package managers, sometimes years behind upstream.

Limited official releases

The official Ninja releases only ship a single binary per platform. This repository builds and publishes Ninja for a much wider range of platforms and architectures, so you don't have to build it yourself.

Always up to date

GitHub CI workflows rebuild and publish Ninja automatically whenever a new version is released upstream.

No extra dependencies

Windows binaries statically link the MSVC runtime and musl-based Linux binaries are fully static, so there's no separate runtime to install. The remaining builds only depend on base system libraries that are already present on the OS.

Supported Platforms

Platform Architectures Notes
Linux x86_64, aarch64, arm, riscv64 GNU targets are dynamically linked with an older glibc version;
musl targets are fully statically linked.
Windows x86_64, aarch64 Statically linked with the MSVC runtime (/MT).
macOS aarch64 Targeting macOS 11.0 (Big Sur) and later.
FreeBSD x86_64 Targeting FreeBSD 13.5 and later.