Enough Homebrew

Things to know about Homebrew.

Prevent Homebrew breaking things

To prevent brew install without updating your existing things.

export HOMEBREW_NO_AUTO_UPDATE=TRUE      # Please stop breaking things
export HOMEBREW_NO_INSTALL_CLEANUP=TRUE  # I appreciate the gesture, but maybe ask first

Services

Install a software it becomes a Service.

List: $ brew services

Name         Status  User Plist
postgresql   started hhh  /Users/hhh/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
redis        started hhh  /Users/hhh/Library/LaunchAgents/homebrew.mxcl.redis.plist
unbound      stopped

Then from the plist file, you can see service’s log file location to debug (StandardOutPath, or StandardErrorPath).

Restart: $ brew services restart postgresql

Install Old Formula

For example, current latest PostgreSQL is 13 and I want to use PostgreSQL 12.

brew install postgresql@12
brew link --overwrite -f postgresql@12
# maybe need this
cp -rf /usr/local/Cellar/postgresql@12/12.7/include/postgresql/server /usr/local/opt/postgresql@12/include