C.W.K.
Stream
Lesson 01 of 05 · published

Why Homebrew Exists

~10 min · homebrew, macos, overview

Level 0Newbie
0 XP0/55 lessons0/16 achievements
0/80 XP to next level80 XP to go0% complete

macOS ships with a generous toolkit out of the box — but it stops at the doorstep of modern development. There's no git by default until you accept the Xcode Command Line Tools. There's no node, no python3.12, no postgresql, no ffmpeg, no ripgrep. There's no clean way to install Firefox or VSCode without dragging .dmg files around. Homebrew is the answer to all of that.

Homebrew (often called "brew") is a community-driven package manager for macOS and Linux that gives you a single CLI to install, update, and remove thousands of open-source tools. It manages dependencies automatically, keeps everything updated in one command, and installs into a sandboxed prefix so it never fights with macOS itself. On Apple Silicon Macs the prefix is /opt/homebrew; on older Intel Macs it's /usr/local — that path difference is the single biggest gotcha later.

Two kinds of installable things live in Homebrew: formulae (CLI tools and libraries — git, python, postgresql@16) and casks (GUI macOS apps — firefox, iterm2, visual-studio-code). Both install with the same command. The result is a Mac where almost everything you need can be expressed as text — and that's exactly what makes a Brewfile-driven setup so powerful.

Homebrew is also the gateway drug to almost every other package manager in this quest. Want node? brew install node. Want uv? brew install uv. Want miniconda? brew install --cask miniconda. Even Pippa's own backend runs on Python 3.12 from a conda env that was originally bootstrapped through Homebrew.

Code

Homebrew install summary — what you get·bash
# A single binary to manage:
#   - CLI tools (formulae)        e.g. brew install git python ripgrep
#   - GUI apps (casks)            e.g. brew install --cask firefox iterm2
#   - Background services         e.g. brew services start postgresql@16
#   - Whole-Mac restore           e.g. brew bundle install --file=Brewfile
#
# Apple Silicon prefix:  /opt/homebrew
# Intel prefix:          /usr/local
# Both keep macOS itself untouched.

External links

Exercise

Open https://formulae.brew.sh and search for three tools you've heard of but never installed. For each, note: is it a formula or a cask, what's its homepage, and how many people install it per year? Pick the one that interests you most — you'll install it in the next lesson.

Progress

Progress is local-only — sign in to sync across devices.
Spotted a bug or have feedback on this page?Report an Issue

Comments 0

🔔 Reply notifications (sign in)
Sign inPlease sign in to comment.

No comments yet — be the first.