Homebrew Formulae¶
The formula half of Homebrew: command-line tools built from recipes.
Homebrew is the umbrella project behind the brew CLI. mpm splits it into
two managers over the same binary, this one for formulae and Cask
for macOS applications; a forced --formula selector keeps every call on
the formula side. Homebrew core runs on macOS and on Linux and WSL.
mpm drives brew non-interactively and pins its environment: analytics and
setup hints are silenced, and HOMEBREW_NO_AUTO_UPDATE keeps brew from
folding a metadata refresh into every command, since mpm runs that as a
separate sync (asked for since mpm’s early days). Outdated
packages come from --json=v2; the installed and search listings are
parsed from their plain-text columns.
Note
The >=6.0.0 requirement is the release where ask mode became the
default for brew install and brew upgrade, and where the
--yes opt-out mpm relies on for unattended runs first shipped. It is
also where Homebrew began rejecting third-party taps until trusted, so
installing a fully-qualified user/tap/name package taps and trusts it
first (see Homebrew.trust_tap()).
Caution
A pinned formula still appears in mpm outdated output, yet
brew upgrade silently skips it: mpm discards Homebrew’s pinned
fields today.
Home page: https://brew.sh
Version requirement:
>=6.0.0
Platforms¶
🐧 Linux
🍎 macOS
Operations¶
Operation |
Supported |
|---|---|
|
✓ |
|
✓ |
|
✓ |
|
✓ |
|
✓ |
|
✓ |
|
✓ |
|
✓ |
|
✓ |
Ecosystem¶
Accepted purl types:
pkg:brewMaps to
brewentries in Brewfile backups
Usage¶
$ mpm --brew installed
$ mpm --brew search "query"
$ mpm --brew upgrade --all
$ mpm install pkg:brew/hello
$ mpm --dry-run --brew upgrade --all
Every example above accepts --dry-run, which simulates the underlying manager calls without touching the system: the safe way to watch what mpm would do before trusting it.
Deselect the manager for a single run with --no-brew, disable it from your configuration, or tune its invocation attributes with per-manager overrides.
Command line¶
CLI names, in lookup order:
brewArguments forced after each call:
--formulaEnvironment forced on each call:
HOMEBREW_NO_ANALYTICS=1HOMEBREW_NO_AUTO_UPDATE=1HOMEBREW_NO_ENV_HINTS=1
The version is extracted from the output of brew --version with:
r"Homebrew\s+(?P<version>\S+)"
Privilege escalation¶
mpm runs this manager as the current user and never prepends sudo by default. Flip the policy for its privileged operations with --sudo or the per-manager sudo override.
See privilege escalation for the full policy.
Cooldown¶
State of Homebrew Formulae’s release-age gating, from the cooldown support table:
Status: 🚧 Proposed (closed as not planned for users; merged for internal bottle resource resolution)
Mechanism: (internal)
--min-release-age=1,--uploaded-prior-toReference: Homebrew/brew#21129
With --cooldown set, mpm skips this manager’s install and upgrade operations rather than run them unguarded (fail-closed); --allow-unsupported-managers opts back in.