Homebrew
In-depth entryby Homebrew maintainers · CLI tool · also known as brew, Linuxbrew
Community-maintained package manager for macOS and Linux that installs command-line tools (formulae) and desktop apps (casks) from the terminal
Overview
Homebrew is the de facto package manager for macOS, maintained by a volunteer community and licensed under the BSD 2-Clause license. A single brew install command fetches and installs command-line tools and libraries (formulae) or graphical applications and fonts (casks), keeping each package in its own directory under the Homebrew prefix and symlinking it into place. Pre-built binaries (bottles) make most installs fast, and the same tool runs on Linux and Windows Subsystem for Linux as Homebrew on Linux.
Beyond installation, brew upgrades and removes packages, manages background services for daemons such as PostgreSQL or Redis (brew services), and reproduces a machine's software set from a Brewfile with brew bundle. Third-party repositories (taps) let organizations or projects publish their own formulae, and a macOS .pkg installer supports unattended deployment through mobile-device-management tools. On Apple Silicon the default prefix is /opt/homebrew; the project supports the current and recent macOS releases on Apple-supported hardware.
For developers and researchers on Macs, Homebrew is usually the first thing installed on a new machine: it provides Python, Node.js, Git, ffmpeg, LaTeX distributions, database servers and hundreds of other tools, and it is the standard way fleet scripts provision a cluster of Macs consistently.
Limits: it manages one version of a formula at a time (version pinning exists but is coarse), upgrades can replace shared libraries under running software, packages for older macOS releases lose binary support and must be compiled locally, and it is not a sandboxed or reproducible environment manager in the way Nix or containers are.
Capabilities
- Install, upgrade and uninstall command-line formulae
- Install desktop applications and fonts as casks
- Pre-built binary bottles for supported platforms
- Background service management with brew services
- Machine setup from a Brewfile with brew bundle
- Third-party taps for custom package repositories
- Unattended installation via a macOS .pkg for MDM fleets
Typical workflows
- Provision a new Mac with a Brewfile
- Install Python, Node.js, Git and ffmpeg for a development environment
- Run PostgreSQL or Redis as a user-level service
- Publish an internal tool through a private tap
Strengths
- Huge catalog covering most open-source developer tools
- No sudo required after installation
- Works on macOS, Linux and WSL with one command set
- Active community and frequent updates
Limitations
- Single active version per formula; weak version pinning
- Upgrades may break software linked against replaced libraries
- Older macOS releases lose pre-built bottles
- Not a reproducible or sandboxed environment manager
Prerequisites
- macOS on supported hardware or a Linux distribution
- Xcode Command Line Tools on macOS
Who it is for
- Developers and researchers on Macs
- Administrators provisioning Mac fleets
- Linux users wanting newer tools without root
Alternatives & comparison
Homebrew is a system-wide package manager; uv is the comparable tool only for Python itself and Python-based CLI tools, which it installs in isolated environments with exact version pinning. Docker and Podman solve a different problem, running software in containers rather than installing it on the host, and are often used alongside Homebrew when reproducibility or isolation matters more than convenience. On macOS, MacPorts is the long-standing alternative source-based package manager.
- Docker
Container platform combining the Docker Engine runtime, the Compose and Build tooling, Docker Desktop for macOS and Windows, and the Docker Hub registry
MixedOpen source - Podman
Daemonless, rootless container engine with a Docker-compatible CLI, companion Buildah and Skopeo tools and a Podman Desktop GUI
Open sourceOpen source - uv
Rust-based Python package and project manager from Astral that replaces pip, venv, pip-tools and pyenv with one command-line tool
Open sourceOpen source
Sources & verification
Primary sources consulted for this record. Claims are tied to the fields each source supports; the automated link checker re-verifies every URL on a schedule.
- Licensehttps://github.com/Homebrew/brew/blob/master/LICENSE.txtchecked Nov 1, 2026
Supports: license_spdx, source_model
- Official documentationchecked Nov 1, 2026
- Official siteHomebrew — The Missing Package Manager for macOS (or Linux)checked Nov 1, 2026
https://brew.sh/
Supports: name, summary, operating_systems, capabilities
- Repositorychecked Nov 1, 2026
- Confidence
- High
- Reviewed
- Nov 1, 2026
- Links
- Verified · Nov 2, 2026
Spotted an error?
More in macOS system utilities
OrbStack
OrbStack (Orbital Labs) · Containers & virtualization
macOS application that runs Docker containers, Linux machines and a local Kubernetes cluster as a lighter replacement for Docker Desktop
Alfred
Running with Crayons Ltd · macOS system utilities
macOS launcher and productivity app whose paid Powerpack adds workflows, clipboard history, snippets and custom searches
Karabiner-Elements
pqrs.org (Takayama Fumihiko) · macOS system utilities
Free, public-domain keyboard customizer for macOS that remaps keys and defines complex modifications through JSON rules at the driver level
Raycast
Raycast Technologies Ltd · macOS system utilities
Extensible launcher for macOS (with Windows and iOS versions) combining app search, clipboard history, snippets, window management and a store of community extensions