# Install Homebrew on macOS or Linux
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Search for a package
brew search <package>
# Get info about a package
brew info <package>
# Install a package
brew install <package>
# Uninstall a package
brew uninstall <package>
# List installed packages
brew list
# List installed packages with versions
brew list --versions
# Update Homebrew itself
brew update
# Upgrade all installed packages
brew upgrade
# Upgrade a specific package
brew upgrade <package>
# See outdated packages
brew outdated
# Search for a cask
brew search --cask <app>
# Install a GUI application
brew install --cask <app>
# Uninstall a cask
brew uninstall --cask <app>
# List installed casks
brew list --cask
# Add a tap
brew tap <user/repo>
# Remove a tap
brew untap <user/repo>
# List all taps
brew tap
# Remove old versions of packages
brew cleanup
# See what would be cleaned up
brew cleanup -n
# Remove a specific package's old versions
brew cleanup <package>
# Remove cache
brew cleanup --prune=all
# List all services
brew services list
# Start a service
brew services start <service>
# Stop a service
brew services stop <service>
# Restart a service
brew services restart <service>
# Run service once (don't restart at login)
brew services run <service>
# Check system for potential problems
brew doctor
# Show Homebrew configuration
brew config
# Display dependencies for a package
brew deps <package>
# Show packages that depend on a package
brew uses --installed <package>
# Reinstall a package
brew reinstall <package>
# Pin a package (prevent upgrades)
brew pin <package>
# Unpin a package
brew unpin <package>
# List pinned packages
brew list --pinned
# Search for available versions of a package
brew search <package>@
# Install a specific version
brew install <package>@<version>
# Example: Install Node.js versions
brew install node@18
brew install node@20
# List installed versions
brew list | grep <package>
# Unlink current version
brew unlink <package>
# Link a specific version
brew link <package>@<version>
# Force link (if already linked)
brew link --overwrite <package>@<version>
# Check which version is active
<package> --version
# Create a Brewfile from installed packages
brew bundle dump
# Install from a Brewfile
brew bundle
# Check if all dependencies are installed
brew bundle check
# List packages in Brewfile
brew bundle list