Automic VaultAutomic Vault

brew

Install ninja with Homebrew, chocolatey, MacPorts, Nix, pacman, scoop, winget, zypper

Small build system for use with gyp or CMake. Version 1.13.2 via Homebrew; verified from local package data.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install ninja

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install ninja

MacPorts ports tree · devel/ninja/Portfile · source: api.github.com

Windows

Chocolateyverified · 92%
choco install ninja

Chocolatey community package catalog · ninja · source: community.chocolatey.org

Scoopverified · 92%
scoop install main/ninja

Scoop official bucket manifest trees · bucket/ninja.json · source: api.github.com

Windows Package Managerverified · 92%
winget install --id Ninja-build.Ninja -e

Windows Package Manager source index · Ninja-build.Ninja · source: cdn.winget.microsoft.com

overview

Package summary

Small build system for use with gyp or CMake

Commands and aliases

  • ninja

history

Project history and usage

Ninja is a small, low-level build system optimized for fast incremental builds. Its central idea is deliberately narrow: higher-level tools such as GN, GYP, CMake, Meson, or custom generators decide the project model, and Ninja executes the already-lowered build graph quickly.

Project history

Evan Martin wrote Ninja while working on Google Chrome. In his Performance of Open Source Software chapter, he says he started Ninja in 2010 as an experiment to make Chrome builds faster, especially the front of the build where the tool loads build files and starts the first compile. This led to the design that made `.ninja` files simple, generated, and quick to parse.

The project became public and then broadened beyond Chrome. The same history says Ninja gradually replaced other build systems used by Chrome, CMake gained a Ninja generator, and projects such as LLVM and ReactOS used it through CMake. The Ninja homepage later summarized the tool as an assembler-like build system used by Google Chrome, parts of Android, LLVM, and many CMake-backed projects.

Adoption history

Ninja's adoption is unusually strong for such a small tool because it sits at the bottom of many developer workflows. Developers may never hand-write `build.ninja`, but they install Ninja because CMake, Meson, GN, or language build systems generate it and expect a fast executor.

On 2026-07-01, Homebrew listed Ninja 1.13.2 with 545,459 installs over 365 days and 352,367 installs-on-request. That install volume is a package-manager reflection of Ninja's role as a build substrate rather than a tool people necessarily think about directly.

How it is used

The normal package-nerd workflow is `cmake -G Ninja -S . -B build` or a Meson/GN equivalent, followed by `ninja -C build`. By default, `ninja` looks for `build.ninja` in the current directory and builds all out-of-date targets; flags such as `-C` and `-j` intentionally resemble Make, although Ninja already runs jobs in parallel by default.

Ninja build files are plain text and debuggable, but the project explicitly does not optimize for hand authoring. This makes the package easy to reason about in dependency graphs: if a formula or language package depends on Ninja, it usually means some higher-level generator will emit the actual build plan.

Why package nerds care

Ninja is one of the canonical examples of doing less and winning: no general-purpose project language, no rich conditionals, no policy layer, just a fast executor. Its package significance is huge because it became the common backend for CMake/Meson/GN-era native builds across macOS, Linux, Windows, and cross-platform CI.

Timeline

  • {'date': '2010', 'event': 'Evan Martin started Ninja while working on Google Chrome.'}
  • {'date': '2010s', 'event': 'Ninja spread from Chrome to CMake-backed projects including LLVM and ReactOS.'}
  • {'date': '2025-07-10', 'event': 'Ninja homepage listed v1.13.1 as released.'}
  • {'date': '2026-07-01', 'event': 'Homebrew formula listed stable Ninja 1.13.2.'}

Related projects

  • CMake
  • GN
  • GYP
  • Meson
  • LLVM
  • Chromium

security posture

Risk level: yellow

build system capable of executing project logic.

Risk classifier

yellow risk · high confidence · runtime

Why

  • build system capable of executing project logic

Signals

  • override:ninja

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 8 platform targets.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
ninjacliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version1.13.2
manager updated
local dataok
upstreamcurrent
latest detectedv1.13.2

https://github.com/ninja-build/ninja

  • infoNo package-manager update timestamp was available.low confidence

install metadata

Package metadata

Package keybrew:ninja
Version1.13.2
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/ninja
Homepagehttps://ninja-build.org/
Repositoryhttps://github.com/ninja-build/ninja
Upstream docshttps://ninja-build.org/manual
LicenseApache-2.0
Source archivehttps://github.com/ninja-build/ninja/archive/refs/tags/v1.13.2.tar.gz
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sequoia, sonoma, tahoe, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Nameninja
Version Scheme0
Revision0
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Nix95%

ninja

nix profile install nixpkgs#ninja
  • normalized package name match
  • Matched by: Ninja
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/ni/ninja/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
pacman95%

ninja 1.13.2-3

Small build system with a focus on speed

https://ninja-build.org/

sudo pacman -S ninja
  • License: Apache-2.0
  • Architecture: x86_64
  • 3 dependencies
  • normalized package name match
  • Matched by: Ninja
Arch Linux sync databases · geo.mirror.pkgbuild.com · Arch Linux sync databases: ninja from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz
zypper95%

ninja 1.13.2-1.3

A small build system closest in spirit to Make

https://ninja-build.org/

sudo zypper install ninja
  • License: Apache-2.0
  • Category: Development/Tools/Building
  • Architecture: x86_64
  • Source Package: ninja
  • 3 dependencies
  • 2 provides
  • normalized package name match
  • Matched by: Ninja
openSUSE Tumbleweed package metadata · download.opensuse.org · openSUSE Tumbleweed package metadata: ninja from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst
MacPorts95%

ninja

sudo port install ninja
  • normalized package name match
  • Matched by: Ninja
MacPorts ports tree · api.github.com · MacPorts ports tree: devel/ninja/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
Chocolatey95%

ninja

choco install ninja
  • normalized package name match
  • Matched by: Ninja
Chocolatey community package catalog · community.chocolatey.org · Chocolatey community package catalog: ninja from http://community.chocolatey.org/api/v2/Packages?$filter=IsLatestVersion&$select=Id&$top=1000&$skiptoken='11','nexus-repository'
Scoop95%

main/ninja

scoop install main/ninja
  • normalized package name match
  • Matched by: Ninja
Scoop official bucket manifest trees · api.github.com · Scoop official bucket manifest trees: bucket/ninja.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1
winget95%

Ninja-build.Ninja

winget install --id Ninja-build.Ninja -e
  • normalized package name match
  • Matched by: Ninja
Windows Package Manager source index · cdn.winget.microsoft.com · Windows Package Manager source index: Ninja-build.Ninja from https://cdn.winget.microsoft.com/cache/source.msix

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment