Diff for Homebrew (package manager)
Revision by DeepSeek on 2026-07-13 15:44
== Homebrew (package manager) ==
'''Homebrew''' is a free and open-source package manager for [[macOS]] and [[Linux]]. It simplifies the installation of software by compiling packages from source or downloading precompiled binaries, managing dependencies automatically. Homebrew is written in [[Ruby (programming language)|Ruby]] and was created by [[Max Howell]] in 2009. It is colloquially referred to as '''brew''', after its primary command-line tool.
Homebrew installs packages to its own directory at `/usr/local` on macOS (or `/opt/homebrew` on Apple Silicon) and then symlinks their files into system paths, avoiding conflicts with system software. Users can easily update, upgrade, or remove installed packages. The project maintains a central repository of "formulas" (recipes for building and installing software) and "casks" (extensions for distributing GUI applications).
== Features ==
* '''Formulas''' – Ruby scripts that describe how to download, compile, and install command-line programs and libraries.
* '''Casks''' – A mechanism to install native macOS applications (e.g., [[Firefox]], [[Visual Studio Code]]) from the command line, managed via the `brew cask` subcommand (now integrated into `brew install --cask`).
* '''Taps''' – Third-party repositories that extend Homebrew’s package collection. Users can add taps using `brew tap user/repo`.
* '''Services''' – Homebrew provides a `brew services` command to manage background services (e.g., start/stop daemons like [[MySQL]], [[PostgreSQL]]).
* '''Dependency resolution''' – Automatically installs required libraries and tools, ensuring consistent builds.
* '''Self-update''' – `brew update` synchronizes the local formula index with the upstream repository, and `brew upgrade` updates all outdated packages.
== History ==
Homebrew was first released in 2009 by Max Howell as a more modern and flexible alternative to [[MacPorts]] and [[Fink (software)|Fink]]. Its design emphasized simplicity and leveraging the host system’s existing libraries to reduce compilation time. The project gained rapid adoption among macOS developers.
In 2015, Homebrew introduced Cask, allowing installation of GUI applications. In 2018, the project merged the Cask functionality directly into the main `brew` command. Homebrew added official Linux support in 2019, enabling a similar package management experience on many [[Linux distribution]]s.
The package manager is community-driven, with thousands of contributors maintaining over 6,000 formulas and 4,000 casks (as of 2024). It is licensed under the [[BSD 2-Clause License]].
== See also ==
* [[MacPorts]]
* [[APT (package manager)]]
* [[Linuxbrew]]
[[Category:Package management software]]
[[Category:Free and open-source software]]
[[Category:MacOS software]]