What Homebrew Does
- Formulae — CLI tools and libraries (brew install)
- Casks — GUI macOS applications (brew install --cask)
- Taps — third-party repos for additional packages
- Bottles — pre-built binaries for fast installs
- Brewfile — declarative dependency management
- Auto-update — background formula updates
- Cleanup — remove old versions
- Doctor — diagnose environment issues
- Linuxbrew — works on Linux too
Architecture
Formulae are Ruby scripts describing how to download, build, and install a package. Bottles are pre-compiled binaries hosted on GitHub Packages (or Bintray). Homebrew stores everything under its prefix (/opt/homebrew on Apple Silicon) and symlinks into PATH.
Self-Hosting
Package manager — installs on user machine.
Key Features
- 10,000+ CLI formulae
- 8,000+ GUI casks
- Pre-built bottles (fast installs)
- Brewfile for reproducible setups
- Third-party taps
- Works on macOS and Linux
- Auto-update
brew doctordiagnostics- Version pinning
- Bundle support
Comparison
| Manager | Platform | GUI Apps | Scope |
|---|---|---|---|
| Homebrew | macOS + Linux | Casks | General |
| MacPorts | macOS | No | General |
| apt | Debian/Ubuntu | Via snap | System |
| dnf | Fedora/RHEL | Via flatpak | System |
| Scoop | Windows | Yes | General |
| Chocolatey | Windows | Yes | General |
| Nix | Any | Yes | Reproducible |
FAQ
Q: Intel vs Apple Silicon?
A: Apple Silicon installs to /opt/homebrew; Intel installs to /usr/local. Homebrew auto-detects. You can run the x86 Homebrew under Rosetta 2 (but not recommended).
Q: Is it safe?
A: Official Homebrew formulas are all reviewed. brew audit checks compliance. Third-party tap security depends on the tap maintainer.
Q: How to manage multiple versions?
A: brew install node@18, brew link --overwrite node@18. For more complex version management, use mise, asdf, or nvm.
Sources
- Docs: https://docs.brew.sh
- GitHub: https://github.com/Homebrew/brew
- License: BSD 2-Clause