I found the best and easiest way to install QGIS is brew cask. There are too many bugs on osgeo4mac homebrew.

Installing Homebrew

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Check the latest installation command at: https://brew.sh/

brew cask install qgis

Installing QGIS

Add the OSGeo tap:

brew tap osgeo/osgeo4mac

Install the latest version or the LTR version of QGIS:

brew install osgeo/osgeo4mac/qgis
brew install osgeo/osgeo4mac/qgis-ltr

Notice the installation comes with many linked packages (e.g. osgeo-netcdf, osgeo-hdf5) from osgeo tap, which might conflict with other native brew packages (e.g. netcdf, hdf5). These packages have to be unlinked before the installation.

*Reference Github: OSGeo/homebrew-osgeo4mac https://github.com/OSGeo/homebrew-osgeo4mac

FAQ

Libproj Issue

Description

Library error pops up while loading QGIS Library not loaded: /usr/local/opt/osgeo-proj/lib/libproj.13.dylib.

Solution

Navigate to proj directory and link the libproj.XX.dylib to the missing library.

cd /usr/local/opt/osgeo-proj/lib
ln -s libproj.15.dylib libproj.13.dylib