The Homebrew is a package manager for MacOS or Linux. It installs packages to their own directory and then symlinks into
/usr/local. Homebrew formulae are Ruby scripts.
Terminology and Introduction
|Fomula||package definition in Ruby||… /Formula/foo.rb|
|Keg||installation prefix of a formala||/usr/local/Cellar/foo/0.1|
|opt prefix||the active version of a Keg||/usr/local/opt/foo|
|Cellar||The directory for all Kegs||/usr/local/Cellar|
|Tap||3rd-part repos of Formulea/ commands||/usr/local/Homebrew/Libarary/Tap/…|
|Bottle||Pre-build Keg instead from source||stuff-4.8.4.tar.gz|
|Cask||Os native/GUI apps||/Applications/MacDown.app/…|
|Brew Bundle||install a list for dependencies||~/Brewfile|
Git for downloading updates and contributing to the project. It installs packages into the
/usr/local/Cellar and formulae in
For install, remove and search
brew list: list all installed formulae
brew install <formula>: install a formula
brew uninstall <formula>: uninstall a formula
brew info <formula>: show info such as version and start/stop commands
brew search <text>: search a formulae names
brew search: display all locally install
brew help command
brew doctor: check potential problems
For bacground sevices:
sudois passed, operate on
/Library/LaunchDaemonthat starts at boot. otherwise, operate on
~/Library/LaunchAgentsthat starts at login.
brew services: list all managed services for the current user or root
brew services run <formula>|--all: run the service without registering to launch at login/boot.
brew services start <formula>|--all: start the service and register it to launch at login/boot.
brew services stop <formula>|--all: stop the service and ungister it.
brew services restart <formula>|--all: restart and register.
brew services cleanup: clean uninstall services.
brew update: fetch latest version of homebrew and formula
brew outdated: show available updated version
brew upgrade: upgrade outdated and unpinned brews
brew upgrade <formula>: upgrade a specific formula
brew pin <formula>: pin a fomula version
brew unpin <formula>: unpin a formula
brew cleanup: remove older versions of installed formulae
brew cleanup <formula>: remove odler version
brew cleanup -n: display all formulae to be removed (dry run)
brew tap: list all installed taps
brew tap <usesr/repo>: tap a formula repo form GitHub. It is a shortcut to
brew tap user/repo https://github.com/user/homebrew-repo
brew tap-info tap: show tap info.
brew untap tap: remove a tapped formula repository.
For link and versions
brew unlink <formula>: delete command links
brew link <formula>: create command links
brew switch <formula> <version>: switch a version