macos-setup
🐱 Source ☕️ Java SampleGo Sample Angular Sample
  • Mac Setup
  • Getting Started
    • Xcode
    • Homebrew
    • System Preferences
    • Essentials
    • Dotfiles
  • Applications
    • Ghostty
    • Sublime-text
    • JetBrains
    • VSCode
    • Xcode
    • Marta
    • Benthos
    • OrbStack
    • Traefik
    • n8n
  • Platforms
    • Java
    • Node
      • Bub
      • NPM
      • PNPM
      • Turborepo
    • GoLang
    • Rust
    • Python
      • Testing
      • Agno AI
  • DevOps
    • Development Workflow
      • Git
        • GitHub CLL
      • GitOps
      • Documentation
      • mkcert
      • YubiKey
    • Monorepo
    • dnsmasq
    • Docker
    • Skaffold
    • Kubernetes
    • Helm
    • Kustomize
    • kustomizer
    • Terraform
    • Security
    • Cloud
      • gcloud
      • azure
      • aws
  • Tips
    • Git
    • MacOS
Powered by GitBook
On this page
  • Prerequisites
  • Install
  • Homebrew Shell Completion
  • non-admin
  • Usage

Was this helpful?

Edit on GitHub
  1. Getting Started

Homebrew

PreviousXcodeNextSystem Preferences

Last updated 12 days ago

Was this helpful?

is the package manager for macOS and is an essential tool for any developer.

Prerequisites

Verify installation of Command Line Tools for Xcode

sudo xcode-select --install

Install

The ~/.zshrc doesn’t exist by default in macOS, so you need to create it.

Go to Terminal and run:

touch ~/.zshrc

Not install brew from Terminal

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

For first time only, run following commands

This will create ~/.zprofile file if it not exists or append eval "$(/opt/homebrew/bin/brew shellenv)" line to existing ~/.zprofile file

echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"

Once the installation is successful, run the following command:

brew doctor

If you get Your system is ready to brew., you can move on to the next step.

Brew anonymously collect User Behaviour data. To prevent analytics from ever being sent, run:

brew analytics off

Homebrew Shell Completion

Brew installs completions and functions into: /opt/homebrew/share/zsh/site-functions when a formula offers them.

To make Homebrew’s completions available in zsh, you must insert the Homebrew-managed zsh/site-functions path into your FPATH before initialising zsh’s completion facility. Add the following to your ~/.zshrc:

if type brew &>/dev/null
then
FPATH="$(brew --prefix)/share/zsh/site-functions:${FPATH}"

autoload -Uz compinit
compinit
fi

Note that, this snippet must be added in the top if ~/.zshrc

non-admin

[!CAUTION] Installing homebrew in non-standared location like below, will cause some packages not work properly.

If you don't have admin/sudo access to your laptop(e.g., company issued laptop), recomend installing brew in your home directory. In this case follow these steps

cd $HOME
mkdir homebrew && curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C homebrew

Then add brew to front of PATH by editing your shell profile file: .zprofile and adding below line:

eval "$($HOME/homebrew/bin/brew shellenv)"

Usage

Troubleshooting:

brew config
brew doctor
brew update # self update brew
brew --prefix # show brew home
brew --cellar # show where brew install software

Example usage:

brew install <formula> # to install a package (or Formula in Homebrew vocabulary) 
brew search TEXT|/REGEX/ # to search for formulas
brew info <formula> # to get more information about a formula
brew install --verbose --debug <formula>
brew list # to see what you have installed
brew list --versions # To see what you have installed
brew outdated # to see if any of your formulas need to be updated
brew upgrade <formula> # to upgrade a specific formula 
brew uninstall<formula> # to uninstall a formula 

Homebrew keeps older versions of formulas installed on your system, in case you want to roll back to an older version. That is rarely necessary, so you can do some cleanup to get rid of those old versions:

brew cleanup
# If you want to see what formulae Homebrew would delete without actually deleting them, you can run:
brew cleanup --dry-run 

for external Homebrew commands are not automatically installed. To opt-in to using completions for external commands (if provided), they need to be linked to HOMEBREW_PREFIX by running brew completions link.

Homebrew
Shell completions