aliases:
- Homebrew (package manager)
- brew
tags:
- Type/Tech/Platform/Apple
- area/tech/apple
publish: true
version: 1
dateCreated: 2021-10-24, 23:01
dateModified: 2024-03-28, 17:59
from:
- "[[Apple]]"
- "[[macOS]]"
related:
contra:
to:
![]() |
Homebrew is a free and open-source software package management system that simplifies the installation of software on Apple's operating system, macOS, as well as Linux. The name is intended to suggest the idea of building software on the Mac depending on the user's taste. Originally written by Max Howell, the package manager has gained popularity in the Ruby on Rails community and earned praise for its extensibility. Homebrew has been recommended for its ease of use as well as its integration into the command-line interface. Homebrew is a member of the Open Source Collective, and is run entirely by unpaid volunteers. |
---|---|
wikipedia:: Homebrew (package manager) |
Brew only knows about apps you install with brew, not apps you manually download. So, in general, install apps with brew.
You can always do a brew dump to see what the machine has currently installed. E.g., to migrate or to update the dev-env brewfile.
formula: Homebrew package definition built from upstream sources (usually from taps), the core thing that homebrew does - installs unix-like packages
cask: Homebrew package definition that installs macOS native applications (binaries)
keg: installation destination directory of a given formula version e.g. /usr/local/Cellar/foo/0.1
rack: directory containing one or more versioned kegs e.g. /usr/local/Cellar/foo
keg-only: a formula is keg-only if it is not symlinked into Homebrew’s prefix (e.g. /usr/local
)
cellar: directory containing one or more named racks e.g. /usr/local/Cellar
Caskroom: directory containing one or more named casks e.g. /usr/local/Caskroom
external command: brew
subcommand defined outside of the Homebrew/brew GitHub repository
tap: directory (and usually Git repository) of formulae, casks and/or external commands
bottle: pre-built keg poured into the cellar/rack instead of building from upstream sources
brew
list
cask
list
git
(1) and perform any necessary migrations. (Doesn't update installed software, just updates what brew knows about - latest versions etc.)cask
or formula
are specified, upgrade only the given cask
or formula
kegs (unless they are pinned; see pin
, unpin
). I.e., upgrades the installed software you have on your system to the latest versions.Brewfile
listing all of the installed brew packages, cask applications, and Mac App Store applications currently on the machine.-n
, --dry-run
: List what would be uninstalled, but do not actually uninstall anything.formula
or cask
’s homepage in a browser, or open Homebrew’s own homepage if no argument is provided.mas
TABLE WITHOUT ID
file.link AS Name, brew
FROM #Type
WHERE brew != null
Homebrew Cask by default won't automatically update apps with built-in update function / utility / etc. Since Homebrew Cask upgrade apps by removing and reinstalling .app
(excl. data in ~/Library/Application Support
, etc), you may lose data for some apps like MultiMC.app which stores data inside its .app
folder. I lost all my game saves for once. Although it's rare, there's certainly possibility of encountering such problem.