brew.avif

WTF is brew?

tl;dr: brew is a package manager, built specifically for MacOS.

what is a package manager? (what is a package?)

brew gets its name from the Homebrew club, which was founded with the purpose of sharing software. 2 men named Steve circulated a computer they built at a homebrew club meeting in 1975...

(A package manager is a) collection of software tools that automates the process of installing, upgrading, configuring, and removing computer programs for a computer in a consistent automated manner manner. - wiki

In the READMEs of well written github repositories, you will find installation methods for brew apt choco pacman yum et al. Each of these is a package manager for a specific operating system (or distribution of linux).

You will also encounter program language package managers. The terminology for this construct of a “package” might be different per domain (library, import, framework). pip (python) npm , yarn, (javascript) maven (java).

brew is able to install casks or formulae:

formulae: a package with no GUI. You interact with it in terminal

cask: a package with a GUI. It may have a terminal component as well.

You must include the --cask flag when installing a cask. e.g:

brew install --cask vlc

FAQ

How do I update my packages?

Formula Cookbook

Glossary