Click any command to expand the explanation and examples.
📦 Install & Remove
brew install / uninstall basics
# Install a formula (CLI tool) brew install node brew install python brew install gitFormulas = CLI tools. Casks = GUI applications.Install a cask (GUI app)
brew install —cask visual-studio-code brew install —cask firefox brew install —cask docker
Uninstall
brew uninstall node brew uninstall —cask firefox
Install specific version
brew install node@20
brew search / info basics
# Search brew search node brew search --cask chrome brew search /regex/Info about a package
brew info node brew info —cask docker
See what’s installed
brew list brew list —cask brew list node # Files installed by node
🔄 Update & Upgrade
brew update / upgrade update
# Update Homebrew itself (fetch latest package info) brew updateSee what’s outdated
brew outdated
Upgrade everything
brew upgrade
Upgrade specific package
brew upgrade node
Upgrade casks
brew upgrade —cask
Pin a package (prevent upgrades)
brew pin node brew unpin node brew list —pinned
update = refresh the package list. upgrade = install newer versions.
🧹 Cleanup
brew cleanup / autoremove cleanup
# Remove old versions and cache brew cleanupRunSee what would be cleaned (dry run)
brew cleanup -n
Remove packages that were only installed as dependencies
brew autoremove
Check disk usage
brew —cache # Show cache directory du -sh $(brew —cache) # Cache size
Nuclear option: clear entire cache
rm -rf $(brew —cache)
brew cleanup periodically — old versions can eat gigabytes.
🔧 Services
brew services — manage background services services
# List all services brew services listStart a service (runs on boot)
brew services start postgresql brew services start redis
Stop a service
brew services stop postgresql
Restart
brew services restart postgresql
Run once (don’t start on boot)
brew services run postgresql
🔌 Taps (Third-Party Repos)
brew tap taps
# Add a tap brew tap hashicorp/tap brew install hashicorp/tap/terraformList taps
brew tap
Remove a tap
brew untap hashicorp/tap
Common taps
brew tap homebrew/cask-fonts # Nerd Fonts, etc. brew install —cask font-fira-code-nerd-font
🔍 Troubleshooting
brew doctor / diagnostics debug
# Check for problems brew doctorSee where things are installed
brew —prefix # /opt/homebrew (Apple Silicon) or /usr/local (Intel) brew —prefix node # Where node is installed which node # Which node is in PATH
Dependency info
brew deps node # What node depends on brew uses —installed node # What depends on node
Reinstall (fix broken install)
brew reinstall node
Link/unlink (manage symlinks)
brew unlink node brew link node brew link —overwrite node
📋 Brewfile (Backup & Restore)
Export and restore your setup backup
# Export everything to a Brewfile brew bundle dumpInstall everything from Brewfile
brew bundle
Check what’s missing
brew bundle check
Example Brewfile
Save as ~/Brewfile or in your dotfiles repo
# Brewfile tap "homebrew/cask-fonts" # CLI tools brew "git" brew "node" brew "python" brew "ripgrep" brew "jq" brew "tmux" # Apps cask "visual-studio-code" cask "firefox" cask "docker" cask "iterm2" cask "rectangle" # Fonts cask "font-fira-code-nerd-font"
Keep your Brewfile in a dotfiles repo. New Mac? Run brew bundle and you’re done.