brew(1) – The Missing Package Manager for macOS (or Linux)
SYNOPSIS
brew--versionbrewcommand [--verbose|-v] [options] [formula] …
DESCRIPTION
Homebrew is the easiest and most flexible way to install the UNIX tools Appledidn’t include with macOS. It can also install software not packaged for yourLinux distribution without requiringsudo.
TERMINOLOGY
- formula
Homebrew package definition that builds from upstream sources
- cask
Homebrew package definition that installs pre-compiled binaries built andsigned by upstream
- prefix
path in which Homebrew is installed, e.g.
/opt/homebrewor/home/linuxbrew/.linuxbrew- keg
installation destination directory of a givenformula version, e.g.
/opt/homebrew/Cellar/foo/0.1- rack
directory containing one or more versionedkegs, e.g.
/opt/homebrew/Cellar/foo- keg-only
aformula iskeg-only if it is not symlinked into Homebrew’s prefix
- opt prefix
a symlink to the active version of akeg, e.g.
/opt/homebrew/opt/foo- Cellar
directory containing one or more namedracks, e.g.
/opt/homebrew/Cellar- Caskroom
directory containing one or more namedcasks, e.g.
/opt/homebrew/Caskroom- external command
brewsubcommand defined outside of the Homebrew/brew GitHub repository- tap
directory (and usually Git repository) offormulae,casks and/orexternal commands
- bottle
pre-builtkeg poured into arack of theCellar instead of buildingfrom upstream sources
ESSENTIAL COMMANDS
For the full command list, see theCOMMANDS section.
With--verbose or--debug, many commands print extra debugging information.Note that these options should only appear after a command.
Some command behaviour can be customised with environment variables; see theENVIRONMENT section.
installformula
Installformula.
formula is usually the name of the formula to install, but it has othersyntaxes which are listed in theSPECIFYING FORMULAEsection.
uninstallformula
Uninstallformula.
list
List all installed formulae.
search [text|/text/]
Perform a substring search of cask tokens and formula names fortext. Iftext is flanked by slashes, it is interpreted as a regular expression. Thesearch fortext is extended online tohomebrew/core andhomebrew/cask.If no search term is provided, all locally available formulae are listed.
COMMANDS
alias [--edit] [alias|alias=command]
Show an alias’s command. If no alias is given, print the whole list.
--editEdit aliases in a text editor. Either one or all aliases may be opened atonce. If the given alias doesn’t exist it’ll be pre-populated with a template.
analytics [subcommand]
Control Homebrew’s anonymous aggregate user behaviour analytics. Read more athttps://docs.brew.sh/Analytics.
brew analytics[state]Display the current state of Homebrew’s analytics.
brew analytics(on|off)Turn Homebrew’s analytics on or off respectively.
autoremove [--dry-run]
Uninstall formulae that were only installed as a dependency of another formulaand are now no longer needed.
-n,--dry-runList what would be uninstalled, but do not actually uninstall anything.
bundle [subcommand]
Bundler for non-Ruby dependencies from Homebrew, Homebrew Cask, Mac App Store,Visual Studio Code (and forks/variants), Go packages and Flatpak.
Note: Flatpak support is only available on Linux.
brew bundle[install]Install and upgrade (by default) all dependencies from the
Brewfile.
You can specify theBrewfile location using--file or by setting the$HOMEBREW_BUNDLE_FILE environment variable.
You can skip the installation of dependencies by adding space-separated valuesto one or more of the following environment variables:$HOMEBREW_BUNDLE_BREW_SKIP,$HOMEBREW_BUNDLE_CASK_SKIP,$HOMEBREW_BUNDLE_MAS_SKIP,$HOMEBREW_BUNDLE_TAP_SKIP.
brew bundle upgradeShorthand for
brew bundle install --upgrade.brew bundle dumpWrite all installed casks/formulae/images/taps into a
Brewfilein thecurrent directory or to a custom file specified with the--fileoption.brew bundle cleanupUninstall all dependencies not present in the
Brewfile.
This workflow is useful for maintainers or testers who regularly install lots offormulae.
Unless--force is passed, this returns a 1 exit code if anything would beremoved.
brew bundle checkCheck if all dependencies present in the
Brewfileare installed.
This provides a successful exit code if everything is up-to-date, making ituseful for scripting.
brew bundle listList all dependencies present in the
Brewfile.
By default, only Homebrew formula dependencies are listed.
brew bundle editEdit the
Brewfilein your editor.brew bundle addname[…]Add entries to your
Brewfile. Adds formulae by default. Use--cask,--tapor--vscodeto add the corresponding entry instead.brew bundle removename[…]Remove entries that match
namefrom yourBrewfile. Use--formula,--cask,--tap,--masor--vscodeto remove only entries of thecorresponding type. Passing--formulaalso removes matches against formulaaliases and old formula names.brew bundle exec[--check] [--no-secrets]commandRun an external command in an isolated build environment based on the
Brewfiledependencies.
This sanitized build environment ignores unrequested dependencies, which makessure that things you didn’t specify in yourBrewfile won’t get picked up bycommands likebundle install,npm install, etc. It will also add compilerflags which will help with finding keg-only dependencies likeopenssl,icu4c, etc.
brew bundle sh[--check] [--no-secrets]Run your shell in a
brew bundle execenvironment.brew bundle env[--check] [--no-secrets]Print the environment variables that would be set in a
brew bundle execenvironment.--fileRead from or write to the
Brewfilefrom this location. Use--file=-topipe to stdin/stdout.--globalRead from or write to the
Brewfilefrom$HOMEBREW_BUNDLE_FILE_GLOBAL(ifset),${XDG_CONFIG_HOME}/homebrew/Brewfile(if$XDG_CONFIG_HOMEis set),~/.homebrew/Brewfileor~/.Brewfileotherwise.-v,--verboseinstallprints output from commands as they are run.checklists allmissing dependencies.--no-upgradeinstalldoes not runbrew upgradeon outdated dependencies.checkdoesnot check for outdated dependencies. Note they may still be upgraded bybrewinstallif needed. Enabled by default if$HOMEBREW_BUNDLE_NO_UPGRADEisset.--upgradeinstallrunsbrew upgradeon outdated dependencies, even if$HOMEBREW_BUNDLE_NO_UPGRADEis set.--upgrade-formulaeinstallrunsbrew upgradeon any of these comma-separated formulae, evenif$HOMEBREW_BUNDLE_NO_UPGRADEis set.--installRun
installbefore continuing to other operations, e.g.exec.--servicesTemporarily start services while running the
execorshcommand. Enabledby default if$HOMEBREW_BUNDLE_SERVICESis set.-f,--forceinstallruns with--force/--overwrite.dumpoverwrites an existingBrewfile.cleanupactually performs its cleanup operations.--cleanupinstallperforms cleanup operation, same as runningcleanup --force.Enabled by default if$HOMEBREW_BUNDLE_INSTALL_CLEANUPis set and--globalis passed.--alllistall dependencies.--formulalist,dumporcleanupHomebrew formula dependencies.--casklist,dumporcleanupHomebrew cask dependencies.--taplist,dumporcleanupHomebrew tap dependencies.--maslistordumpMac App Store dependencies.--vscodelist,dumporcleanupVSCode (and forks/variants) extensions.--golistordumpGo packages.--flatpaklistordumpFlatpak packages. Note: Linux only.--no-vscodedumpwithout VSCode (and forks/variants) extensions. Enabled by default if$HOMEBREW_BUNDLE_DUMP_NO_VSCODEis set.--no-godumpwithout Go packages. Enabled by default if$HOMEBREW_BUNDLE_DUMP_NO_GOis set.--no-flatpakdumpwithout Flatpak packages. Enabled by default if$HOMEBREW_BUNDLE_DUMP_NO_FLATPAKis set.--describedumpadds a description comment above each line, unless the dependency doesnot have a description. Enabled by default if$HOMEBREW_BUNDLE_DUMP_DESCRIBEis set.--no-restartdumpdoes not addrestart_serviceto formula lines.--zapcleanupcasks using thezapcommand instead ofuninstall.--checkCheck that all dependencies in the Brewfile are installed before running
exec,sh, orenv. Enabled by default if$HOMEBREW_BUNDLE_CHECKis set.--no-secretsAttempt to remove secrets from the environment before
exec,sh, orenv.Enabled by default if$HOMEBREW_BUNDLE_NO_SECRETSis set.
casks
List all locally installable casks including short names.
cleanup [options] [formula|cask …]
Remove stale lock files and outdated downloads for all formulae and casks, andremove old versions of installed formulae. If arguments are specified, only dothis for the given formulae and casks. Removes all downloads more than 120 daysold. This can be adjusted with$HOMEBREW_CLEANUP_MAX_AGE_DAYS.
--pruneRemove all cache files older than specified
days. If you want to removeeverything, use--prune=all.-n,--dry-runShow what would be removed, but do not actually remove anything.
-s,--scrubScrub the cache, including downloads for even the latest versions. Note thatdownloads for any installed formulae or casks will still not be deleted. Ifyou want to delete those too:
rm -rf "$(brew --cache)"--prune-prefixOnly prune the symlinks and directories from the prefix and remove no otherfiles.
commandcommand […]
Display the path to the file being used when invokingbrewcmd.
command-not-found-init
Print instructions for setting up the command-not-found hook for your shell. Ifthe output is not to a tty, print the appropriate handler script for your shell.
For more information, see: https://docs.brew.sh/Command-Not-Found
commands [--quiet] [--include-aliases]
Show lists of built-in and external commands.
-q,--quietList only the names of commands without category headers.
--include-aliasesInclude aliases of internal commands.
completions [subcommand]
Control whether Homebrew automatically links external tap shell completionfiles. Read more athttps://docs.brew.sh/Shell-Completion.
brew completions[state]Display the current state of Homebrew’s completions.
brew completions(link|unlink)Link or unlink Homebrew’s completions.
config,--config
Show Homebrew and system configuration info useful for debugging. If you file abug report, you will be required to provide this information.
deps [options] [formula|cask …]
Show dependencies forformula. When given multiple formula arguments, showthe intersection of dependencies for each formula. By default,deps shows allrequired and recommended dependencies.
If any version of each formula argument is installed and no other options arepassed, this command displays their actual runtime dependencies (similar tobrew linkage), which may differ from a formula’s declared dependencies.
Note:--missing and--skip-recommended have precedence over--include-*.
-n,--topologicalSort dependencies in topological order.
-1,--directShow only the direct dependencies declared in the formula.
--unionShow the union of dependencies for multiple
formula, instead of theintersection.--full-nameList dependencies by their full name.
--include-implicitInclude implicit dependencies used to download and unpack source files.
--include-buildInclude
:builddependencies forformula.--include-optionalInclude
:optionaldependencies forformula.--include-testInclude
:testdependencies forformula(non-recursive unless--graphor--tree).--skip-recommendedSkip
:recommendeddependencies forformula.--include-requirementsInclude requirements in addition to dependencies for
formula.--treeShow dependencies as a tree. When given multiple formula arguments, showindividual trees for each formula.
--prunePrune parts of tree already seen.
--graphShow dependencies as a directed graph.
--dotShow text-based graph description in DOT format.
--annotateMark any build, test, implicit, optional, or recommended dependencies as suchin the output.
--installedList dependencies for formulae that are currently installed. If
formulaisspecified, list only its dependencies that are currently installed.--missingShow only missing dependencies.
--eval-allEvaluate all available formulae and casks, whether installed or not, to listtheir dependencies.
--for-eachSwitch into the mode used by the
--eval-alloption, but only listdependencies for each providedformula, one formula per line. This is usedfor debugging the--installed/--eval-alldisplay mode.--HEADShow dependencies for HEAD version instead of stable version.
--osShow dependencies for the given operating system.
--archShow dependencies for the given CPU architecture.
--formulaTreat all named arguments as formulae.
--caskTreat all named arguments as casks.
desc [options]formula|cask|text|/regex/ […]
Displayformula’s name and one-line description. The cache is created on thefirst search, making that search slower than subsequent ones.
-s,--searchSearch both names and descriptions for
text. Iftextis flanked byslashes, it is interpreted as a regular expression.-n,--nameSearch just names for
text. Iftextis flanked by slashes, it isinterpreted as a regular expression.-d,--descriptionSearch just descriptions for
text. Iftextis flanked by slashes, itis interpreted as a regular expression.--eval-allEvaluate all available formulae and casks, whether installed or not, to searchtheir descriptions. Enabled by default if
$HOMEBREW_EVAL_ALLis set.--formulaTreat all named arguments as formulae.
--caskTreat all named arguments as casks.
developer [subcommand]
Control Homebrew’s developer mode. When developer mode is enabled,brew updatewill update Homebrew to the latest commit on themain branch instead of thelatest stable version along with some other behaviour changes.
brew developer[state]Display the current state of Homebrew’s developer mode.
brew developer(on|off)Turn Homebrew’s developer mode on or off respectively.
docs
Open Homebrew’s online documentation athttps://docs.brew.sh in a browser.
doctor,dr [--list-checks] [--audit-debug] [diagnostic_check …]
Check your system for potential problems. Will exit with a non-zero status ifany potential problems are found.
Please note that these warnings are just used to help the Homebrew maintainerswith debugging if you file an issue. If everything you use Homebrew for isworking fine: please don’t worry or file an issue; just ignore this.
--list-checksList all audit methods, which can be run individually if provided asarguments.
-D,--audit-debugEnable debugging and profiling of audit methods.
fetch [options]formula|cask […]
Download a bottle (if available) or source packages forformulae andbinaries forcasks. For files, also print SHA-256 checksums.
--osDownload for the given operating system. (Pass
allto download for alloperating systems.)--archDownload for the given CPU architecture. (Pass
allto download for allarchitectures.)--bottle-tagDownload a bottle for given tag.
--HEADFetch HEAD version instead of stable version.
-f,--forceRemove a previously cached version and re-fetch.
-v,--verboseDo a verbose VCS checkout, if the URL represents a VCS. This is useful forseeing if an existing VCS cache has been updated.
--retryRetry if downloading fails or re-download if the checksum of a previouslycached version no longer matches. Tries at most 5 times with exponentialbackoff.
--depsAlso download dependencies for any listed
formula.-s,--build-from-sourceDownload source packages rather than a bottle.
--build-bottleDownload source packages (for eventual bottling) rather than a bottle.
--force-bottleDownload a bottle if it exists for the current or newest version of macOS,even if it would not be used during installation.
--formulaTreat all named arguments as formulae.
--caskTreat all named arguments as casks.
formulae
List all locally installable formulae including short names.
gist-logs [options]formula
Upload logs for a failed build offormula to a new Gist. Presents an errormessage if no logs are found.
--with-hostnameInclude the hostname in the Gist.
-n,--new-issueAutomatically create a new issue in the appropriate GitHub repository aftercreating the Gist.
-p,--privateThe Gist will be marked private and will not appear in listings but will beaccessible with its link.
help [command …]
Outputs the usage instructions forbrewcommand. Equivalent tobrew--helpcommand.
home,homepage [--formula] [--cask] [formula|cask …]
Open aformula orcask’s homepage in a browser, or open Homebrew’s ownhomepage if no argument is provided.
--formulaTreat all named arguments as formulae.
--caskTreat all named arguments as casks.
info,abv [options] [formula|cask …]
Display brief statistics for your Homebrew installation. If aformula orcask is provided, show summary of information about it.
--analyticsList global Homebrew analytics data or, if specified, installation and builderror data for
formula(provided neither$HOMEBREW_NO_ANALYTICSnor$HOMEBREW_NO_GITHUB_APIare set).--daysHow many days of analytics data to retrieve. The value for
daysmust be30,90or365. The default is30.--categoryWhich type of analytics data to retrieve. The value for
categorymust beinstall,install-on-requestorbuild-error;cask-installoros-versionmay be specified ifformulais not. The default isinstall.--githubOpen the GitHub source page for
formulaandcaskin a browser. To viewthe history locally:brew log -pformulaorcask--fetch-manifestFetch GitHub Packages manifest for extra information when
formulais notinstalled.--jsonPrint a JSON representation. Currently the default value for
versionisv1forformula. Forformulaandcaskusev2. See the docs forexamples of using the JSON output:https://docs.brew.sh/Querying-Brew--installedPrint JSON of formulae that are currently installed.
--eval-allEvaluate all available formulae and casks, whether installed or not, to printtheir JSON.
--variationsInclude the variations hash in each formula’s JSON output.
-v,--verboseShow more verbose analytics data for
formula.--formulaTreat all named arguments as formulae.
--caskTreat all named arguments as casks.
--sizesShow the size of installed formulae and casks.
install [options]formula|cask […]
Install aformula orcask. Additional options specific to aformulamay be appended to the command.
Unless$HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK is set,brew upgrade orbrewreinstall will be run for outdated dependents and dependents with brokenlinkage, respectively.
Unless$HOMEBREW_NO_INSTALL_CLEANUP is set,brew cleanup will then be runfor the installed formulae or, every 30 days, for all formulae.
Unless$HOMEBREW_NO_INSTALL_UPGRADE is set,brew installformula willupgradeformula if it is already installed but outdated.
-d,--debugIf brewing fails, open an interactive debugging session with access to IRB ora shell inside the temporary build directory.
--display-timesPrint install times for each package at the end of the run. Enabled by defaultif
$HOMEBREW_DISPLAY_INSTALL_TIMESis set.-f,--forceInstall formulae without checking for previously installed keg-only ornon-migrated versions. When installing casks, overwrite existing files(binaries and symlinks are excluded, unless originally from the same cask).
-v,--verbosePrint the verification and post-install steps.
-n,--dry-runShow what would be installed, but do not actually install anything.
--askAsk for confirmation before downloading and installing formulae. Printdownload and install sizes of bottles and dependencies. Enabled by default if
$HOMEBREW_ASKis set.--formulaTreat all named arguments as formulae.
--ignore-dependenciesAn unsupported Homebrew development option to skip installing any dependenciesof any kind. If the dependencies are not already present, the formula willhave issues. If you’re not developing Homebrew, consider adjusting your PATHrather than using this option.
--only-dependenciesInstall the dependencies with specified options but do not install the formulaitself.
--ccAttempt to compile using the specified
compiler, which should be the nameof the compiler’s executable, e.g.gcc-9for GCC 9. In order to use LLVM’sclang, specifyllvm_clang. To use the Apple-provided clang, specifyclang.This option will only accept compilers that are provided by Homebrew orbundled with macOS. Please do not file issues if you encounter errors whileusing this option.-s,--build-from-sourceCompile
formulafrom source even if a bottle is provided. Dependencieswill still be installed from bottles if they are available.--force-bottleInstall from a bottle if it exists for the current or newest version of macOS,even if it would not normally be used for installation.
--include-testInstall testing dependencies required to run
brew testformula.--HEADIf
formuladefines it, install the HEAD version, aka. main, trunk,unstable, master.--fetch-HEADFetch the upstream repository to detect if the HEAD installation of theformula is outdated. Otherwise, the repository’s HEAD will only be checked forupdates when a new stable or development version has been released.
--keep-tmpRetain the temporary files created during installation.
--debug-symbolsGenerate debug symbols on build. Source will be retained in a cache directory.
--build-bottlePrepare the formula for eventual bottling during installation, skipping anypost-install steps.
--skip-post-installInstall but skip any post-install steps.
--skip-linkInstall but skip linking the keg into the prefix.
--as-dependencyInstall but mark as installed as a dependency and not installed on request.
--bottle-archOptimise bottles for the specified architecture rather than the oldestarchitecture supported by the version of macOS the bottles are built on.
-i,--interactiveDownload and patch
formula, then open a shell. This allows the user to run./configure --helpand otherwise determine how to turn the software packageinto a Homebrew package.-g,--gitCreate a Git repository, useful for creating patches to the software.
--overwriteDelete files that already exist in the prefix while linking.
--caskTreat all named arguments as casks.
--[no-]binariesDisable/enable linking of helper executables (default: enabled). Enabled bydefault if
$HOMEBREW_CASK_OPTS_BINARIESis set.--require-shaRequire all casks to have a checksum. Enabled by default if
$HOMEBREW_CASK_OPTS_REQUIRE_SHAis set.--adoptAdopt existing artifacts in the destination that are identical to those beinginstalled. Cannot be combined with
--force.--skip-cask-depsSkip installing cask dependencies.
--zapFor use with
brew reinstall --cask. Remove all files associated with a cask.May remove files which are shared between applications.
leaves [--installed-on-request] [--installed-as-dependency]
List installed formulae that are not dependencies of another installed formulaor cask.
-r,--installed-on-requestOnly list leaves that were manually installed.
-p,--installed-as-dependencyOnly list leaves that were installed as dependencies.
link,ln [options]installed_formula […]
Symlink all offormula’s installed files into Homebrew’s prefix. This isdone automatically when you install formulae but can be useful for manualinstallations.
--overwriteDelete files that already exist in the prefix while linking.
-n,--dry-runList files which would be linked or deleted by
brew link --overwritewithoutactually linking or deleting any files.-f,--forceAllow keg-only formulae to be linked.
--HEADLink the HEAD version of the formula if it is installed.
list,ls [options] [installed_formula|installed_cask …]
List all installed formulae and casks. Ifformula is provided, summarise thepaths within its current keg. Ifcask is provided, list its artifacts.
--formulaList only formulae, or treat all named arguments as formulae.
--caskList only casks, or treat all named arguments as casks.
--full-namePrint formulae with fully-qualified names. Unless
--full-name,--versionsor--pinnedare passed, other options (i.e.-1,-l,-rand-t) arepassed tols(1) which produces the actual output.--versionsShow the version number for installed formulae, or only the specified formulaeif
formulaare provided.--multipleOnly show formulae with multiple versions installed.
--pinnedList only pinned formulae, or only the specified (pinned) formulae if
formulaare provided. See alsopin,unpin.--installed-on-requestList the formulae installed on request.
--installed-as-dependencyList the formulae installed as dependencies.
--poured-from-bottleList the formulae installed from a bottle.
--built-from-sourceList the formulae compiled from source.
-1Force output to be one entry per line. This is the default when output is notto a terminal.
-lList formulae and/or casks in long format. Has no effect when a formula orcask name is passed as an argument.
-rReverse the order of formula and/or cask sorting to list the oldest entriesfirst. Has no effect when a formula or cask name is passed as an argument.
-tSort formulae and/or casks by time modified, listing most recently modifiedfirst. Has no effect when a formula or cask name is passed as an argument.
log [options] [formula|cask]
Show thegit log forformula orcask, or show the log for the Homebrewrepository if no formula or cask is provided.
-p,--patchAlso print patch from commit.
--statAlso print diffstat from commit.
--onelinePrint only one line per commit.
-1Print only one commit.
-n,--max-countPrint only a specified number of commits.
--formulaTreat all named arguments as formulae.
--caskTreat all named arguments as casks.
mcp-server [--debug]
Starts the Homebrew MCP (Model Context Protocol) server.
-d,--debugEnable debug logging to stderr.
migrate [options]installed_formula|installed_cask […]
Migrate renamed packages to new names, whereformula are old names ofpackages.
-f,--forceTreat installed
formulaand providedformulaas if they are from thesame taps and migrate them anyway.-n,--dry-runShow what would be migrated, but do not actually migrate anything.
--formulaOnly migrate formulae.
--caskOnly migrate casks.
missing [--hide=] [formula …]
Check the givenformula kegs for missing dependencies. If noformula areprovided, check all kegs. Will exit with a non-zero status if any kegs are foundto be missing dependencies.
--hideAct as if none of the specified
hiddenare installed.hiddenshould bea comma-separated list of formulae.
nodenv-sync
Create symlinks for Homebrew’s installed NodeJS versions in~/.nodenv/versions.
Note that older version symlinks will also be created so e.g. NodeJS 19.1.0 willalso be symlinked to 19.0.0.
options [options] [formula …]
Show install options specific toformula.
--compactShow all options on a single line separated by spaces.
--installedShow options for formulae that are currently installed.
--eval-allEvaluate all available formulae and casks, whether installed or not, to showtheir options. Enabled by default if
$HOMEBREW_EVAL_ALLis set.--commandShow options for the specified
command.
outdated [options] [formula|cask …]
List installed casks and formulae that have an updated version available. Bydefault, version information is displayed in interactive shells and suppressedotherwise.
-q,--quietList only the names of outdated kegs (takes precedence over
--verbose).-v,--verboseInclude detailed version information.
--formulaList only outdated formulae.
--caskList only outdated casks.
--jsonPrint output in JSON format. There are two versions:
v1andv2.v1isdeprecated and is currently the default if no version is specified.v2prints outdated formulae and casks.--fetch-HEADFetch the upstream repository to detect if the HEAD installation of theformula is outdated. Otherwise, the repository’s HEAD will only be checked forupdates when a new stable or development version has been released.
-g,--greedyAlso include outdated casks with
auto_updates trueorversion :latest.Enabled by default if$HOMEBREW_UPGRADE_GREEDYis set.--greedy-latestAlso include outdated casks including those with
version :latest.--greedy-auto-updatesAlso include outdated casks including those with
auto_updates true.
pininstalled_formula […]
Pin the specifiedformula, preventing them from being upgraded when issuingthebrew upgradeformula command. See alsounpin.
Note: Other packages which depend on newer versions of a pinned formula mightnot install or run correctly.
postinstall,post_installinstalled_formula […]
Rerun the post-install steps forformula.
pyenv-sync
Create symlinks for Homebrew’s installed Python versions in~/.pyenv/versions.
Note that older patch version symlinks will be created and linked to the minorversion so e.g. Python 3.11.0 will also be symlinked to 3.11.3.
rbenv-sync
Create symlinks for Homebrew’s installed Ruby versions in~/.rbenv/versions.
Note that older version symlinks will also be created so e.g. Ruby 3.2.1 willalso be symlinked to 3.2.0.
readall [options] [tap …]
Import all items from the specifiedtap, or from all installed taps if noneis provided. This can be useful for debugging issues across all items whenmaking significant changes toformula.rb, testing the performance of loadingall items or checking if any current formulae/casks have Ruby issues.
--osRead using the given operating system. (Pass
allto simulate all operatingsystems.)--archRead using the given CPU architecture. (Pass
allto simulate allarchitectures.)--aliasesVerify any alias symlinks in each tap.
--syntaxSyntax-check all of Homebrew’s Ruby files (if no
tapis passed).--eval-allEvaluate all available formulae and casks, whether installed or not. Enabledby default if
$HOMEBREW_EVAL_ALLis set.--no-simulateDon’t simulate other system configurations when checking formulae and casks.
reinstall [options]formula|cask […]
Uninstall and then reinstall aformula orcask using the same options itwas originally installed with, plus any appended options specific to aformula.
Unless$HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK is set,brew upgrade orbrewreinstall will be run for outdated dependents and dependents with brokenlinkage, respectively.
Unless$HOMEBREW_NO_INSTALL_CLEANUP is set,brew cleanup will then be runfor the reinstalled formulae or, every 30 days, for all formulae.
-d,--debugIf brewing fails, open an interactive debugging session with access to IRB ora shell inside the temporary build directory.
--display-timesPrint install times for each package at the end of the run. Enabled by defaultif
$HOMEBREW_DISPLAY_INSTALL_TIMESis set.-f,--forceInstall without checking for previously installed keg-only or non-migratedversions.
-v,--verbosePrint the verification and post-install steps.
--askAsk for confirmation before downloading and upgrading formulae. Printdownload, install and net install sizes of bottles and dependencies. Enabledby default if
$HOMEBREW_ASKis set.--formulaTreat all named arguments as formulae.
-s,--build-from-sourceCompile
formulafrom source even if a bottle is available.-i,--interactiveDownload and patch
formula, then open a shell. This allows the user to run./configure --helpand otherwise determine how to turn the software packageinto a Homebrew package.--force-bottleInstall from a bottle if it exists for the current or newest version of macOS,even if it would not normally be used for installation.
--keep-tmpRetain the temporary files created during installation.
--debug-symbolsGenerate debug symbols on build. Source will be retained in a cache directory.
-g,--gitCreate a Git repository, useful for creating patches to the software.
--caskTreat all named arguments as casks.
--[no-]binariesDisable/enable linking of helper executables (default: enabled). Enabled bydefault if
$HOMEBREW_CASK_OPTS_BINARIESis set.--require-shaRequire all casks to have a checksum. Enabled by default if
$HOMEBREW_CASK_OPTS_REQUIRE_SHAis set.--adoptAdopt existing artifacts in the destination that are identical to those beinginstalled. Cannot be combined with
--force.--skip-cask-depsSkip installing cask dependencies.
--zapFor use with
brew reinstall --cask. Remove all files associated with a cask.May remove files which are shared between applications.
search,-S [options]text|/regex/ […]
Perform a substring search of cask tokens and formula names fortext. Iftext is flanked by slashes, it is interpreted as a regular expression.
--formulaSearch for formulae.
--caskSearch for casks.
--descSearch for formulae with a description matching
textand casks with a nameor description matchingtext.--eval-allEvaluate all available formulae and casks, whether installed or not, to searchtheir descriptions. Enabled by default if
$HOMEBREW_EVAL_ALLis set.--pull-requestSearch for GitHub pull requests containing
text.--openSearch for only open GitHub pull requests.
--closedSearch for only closed GitHub pull requests.
--alpineSearch for
textin the given database.--repologySearch for
textin the given database.--macportsSearch for
textin the given database.--finkSearch for
textin the given database.--opensuseSearch for
textin the given database.--fedoraSearch for
textin the given database.--archlinuxSearch for
textin the given database.--debianSearch for
textin the given database.--ubuntuSearch for
textin the given database.
services [subcommand]
Manage background services with macOS’launchctl(1) daemon manager or Linux’ssystemctl(1) service manager.
Ifsudo is passed, operate on/Library/LaunchDaemons or/usr/lib/systemd/system (started at boot). Otherwise, operate on~/Library/LaunchAgents or~/.config/systemd/user (started at login).
- [
sudo]brew services[list] [--json] [--debug] List information about all managed services for the current user (or root).Provides more output from Homebrew and
launchctl(1) orsystemctl(1) if runwith--debug.- [
sudo]brew services info(formula|--all) [--json] List all managed services for the current user (or root).
- [
sudo]brew services run(formula|--all) [--file=] Run the service
formulawithout registering to launch at login (or boot).- [
sudo]brew services start(formula|--all) [--file=] Start the service
formulaimmediately and register it to launch at login(or boot).- [
sudo]brew services stop[--keep] [--no-wait|--max-wait=] (formula|--all) Stop the service
formulaimmediately and unregister it from launching atlogin (or boot), unless--keepis specified.- [
sudo]brew services kill(formula|--all) Stop the service
formulaimmediately but keep it registered to launch atlogin (or boot).- [
sudo]brew services restart(formula|--all) [--file=] Stop (if necessary) and start the service
formulaimmediately and registerit to launch at login (or boot).- [
sudo]brew services cleanup Remove all unused services.
--fileUse the service file from this location to
startthe service.--sudo-service-userWhen run as root on macOS, run the service(s) as this user.
--max-waitWait at most this many seconds for
stopto finish stopping a service.Defaults to 60. Set this to zero (0) seconds to wait indefinitely.--no-waitDon’t wait for
stopto finish stopping the service.--keepWhen stopped, don’t unregister the service from launching at login (or boot).
--allRun
subcommandon all services.--jsonOutput as JSON.
setup-ruby [command …]
Installs and configures Homebrew’s Ruby. Ifcommand is passed, it will onlyrun Bundler if necessary for that command.
shellenv [shell …]
Valid shells: bash|csh|fish|pwsh|sh|tcsh|zsh
Print export statements. When run in a shell, this installation of Homebrew willbe added to your$PATH,$MANPATH, and$INFOPATH.
The variables$HOMEBREW_PREFIX,$HOMEBREW_CELLAR and$HOMEBREW_REPOSITORYare also exported to avoid querying them multiple times. To help guaranteeidempotence, this command produces no output when Homebrew’sbin andsbindirectories are first and second respectively in your$PATH. Consider addingevaluation of this command’s output to your dotfiles (e.g.~/.bash_profile or~/.zprofile on macOS and ~/.bashrc or ~/.zshrc on Linux) with:eval “$(brew shellenv)”`
The shell can be specified explicitly with a supported shell name parameter.Unknown shells will output POSIX exports.
tab [options]installed_formula|installed_cask […]
Edit tab information for installed formulae or casks.
This can be useful when you want to control whether an installed formula shouldbe removed bybrew autoremove. To prevent removal, mark the formula asinstalled on request; to allow removal, mark the formula as not installed onrequest.
--installed-on-requestMark
installed_formulaorinstalled_caskas installed on request.--no-installed-on-requestMark
installed_formulaorinstalled_caskas not installed on request.--formulaOnly mark formulae.
--caskOnly mark casks.
tap [options] [user/repo] [URL]
Tap a formula repository. If no arguments are provided, list all installed taps.
WithURL unspecified, tap a formula repository from GitHub using HTTPS.Since so many taps are hosted on GitHub, this command is a shortcut forbrewtapuser/repohttps://github.com/user/homebrew-repo.
WithURL specified, tap a formula repository from anywhere, using anytransport protocol thatgit(1) handles. The one-argument form oftapsimplifies but also limits. This two-argument command makes no assumptions, sotaps can be cloned from places other than GitHub and using protocols other thanHTTPS, e.g. SSH, git, HTTP, FTP(S), rsync.
--custom-remoteInstall or change a tap with a custom remote. Useful for mirrors.
--repairAdd missing symlinks to tap manpages and shell completions. Correct git remoterefs for any taps where upstream HEAD branch has been renamed.
--eval-allEvaluate all formulae, casks and aliases in the new tap to check theirvalidity. Enabled by default if
$HOMEBREW_EVAL_ALLis set.-f,--forceForce install core taps even under API mode.
tap-info [--installed] [--json] [tap …]
Show detailed information about one or moretaps. If notap names areprovided, display brief statistics for all installed taps.
--installedShow information on each installed tap.
--jsonPrint a JSON representation of
tap. Currently the default and onlyaccepted value forversionisv1. See the docs for examples of using theJSON output:https://docs.brew.sh/Querying-Brew
unaliasalias […]
Remove aliases.
uninstall,remove,rm [options]installed_formula|installed_cask […]
Uninstall aformula orcask.
-f,--forceDelete all installed versions of
formula. Uninstall even ifcaskisnot installed, overwrite existing files and ignore errors when removing files.--zapRemove all files associated with a
cask.May remove files which areshared between applications.--ignore-dependenciesDon’t fail uninstall, even if
formulais a dependency of any installedformulae.--formulaTreat all named arguments as formulae.
--caskTreat all named arguments as casks.
unlink [--dry-run]installed_formula […]
Remove symlinks forformula from Homebrew’s prefix. This can be useful fortemporarily disabling a formula:brew unlinkformula&&commands&&brew linkformula
-n,--dry-runList files which would be unlinked without actually unlinking or deleting anyfiles.
unpininstalled_formula […]
Unpinformula, allowing them to be upgraded bybrew upgradeformula.See alsopin.
untap [--force]tap […]
Remove a tapped formula repository.
-f,--forceUntap even if formulae or casks from this tap are currently installed.
update,up [options]
Fetch the newest version of Homebrew and all formulae from GitHub usinggit(1)and perform any necessary migrations.
--mergeUse
git mergeto apply updates (rather thangit rebase).--auto-updateRun on auto-updates (e.g. before
brew install). Skips some slower steps.-f,--forceAlways do a slower, full update check (even if unnecessary).
-v,--verbosePrint the directories checked and
gitoperations performed.-d,--debugDisplay a trace of all shell commands as they are executed.
update-if-needed
Runsbrew update --auto-update only if needed. This is a good replacement forbrew update in scripts where you want the no-op case to be both possible andreally fast.
update-reset [repository …]
Fetch and reset Homebrew and all tap repositories (or any specifiedrepository) usinggit(1) to their latestorigin/HEAD.
Note: this will destroy all your uncommitted or committed changes.
upgrade [options] [installed_formula|installed_cask …]
Upgrade outdated casks and outdated, unpinned formulae using the same optionsthey were originally installed with, plus any appended brew formula options. Ifcask orformula are specified, upgrade only the givencask orformula kegs (unless they are pinned; seepin,unpin).
Unless$HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK is set,brew upgrade orbrewreinstall will be run for outdated dependents and dependents with brokenlinkage, respectively.
Unless$HOMEBREW_NO_INSTALL_CLEANUP is set,brew cleanup will then be runfor the upgraded formulae or, every 30 days, for all formulae.
-d,--debugIf brewing fails, open an interactive debugging session with access to IRB ora shell inside the temporary build directory.
--display-timesPrint install times for each package at the end of the run. Enabled by defaultif
$HOMEBREW_DISPLAY_INSTALL_TIMESis set.-f,--forceInstall formulae without checking for previously installed keg-only ornon-migrated versions. When installing casks, overwrite existing files(binaries and symlinks are excluded, unless originally from the same cask).
-v,--verbosePrint the verification and post-install steps.
-n,--dry-runShow what would be upgraded, but do not actually upgrade anything.
--askAsk for confirmation before downloading and upgrading formulae. Printdownload, install and net install sizes of bottles and dependencies. Enabledby default if
$HOMEBREW_ASKis set.--formulaTreat all named arguments as formulae. If no named arguments are specified,upgrade only outdated formulae.
-s,--build-from-sourceCompile
formulafrom source even if a bottle is available.-i,--interactiveDownload and patch
formula, then open a shell. This allows the user to run./configure --helpand otherwise determine how to turn the software packageinto a Homebrew package.--force-bottleInstall from a bottle if it exists for the current or newest version of macOS,even if it would not normally be used for installation.
--fetch-HEADFetch the upstream repository to detect if the HEAD installation of theformula is outdated. Otherwise, the repository’s HEAD will only be checked forupdates when a new stable or development version has been released.
--keep-tmpRetain the temporary files created during installation.
--debug-symbolsGenerate debug symbols on build. Source will be retained in a cache directory.
--overwriteDelete files that already exist in the prefix while linking.
--caskTreat all named arguments as casks. If no named arguments are specified,upgrade only outdated casks.
--skip-cask-depsSkip installing cask dependencies.
-g,--greedyAlso include casks with
auto_updates trueorversion :latest. Enabled bydefault if$HOMEBREW_UPGRADE_GREEDYis set.--greedy-latestAlso include casks with
version :latest.--greedy-auto-updatesAlso include casks with
auto_updates true.--[no-]binariesDisable/enable linking of helper executables (default: enabled). Enabled bydefault if
$HOMEBREW_CASK_OPTS_BINARIESis set.--require-shaRequire all casks to have a checksum. Enabled by default if
$HOMEBREW_CASK_OPTS_REQUIRE_SHAis set.
uses [options]formula […]
Show formulae and casks that specifyformula as a dependency; that is, showdependents offormula. When given multiple formula arguments, show theintersection of formulae that useformula. By default,uses shows allformulae and casks that specifyformula as a required or recommendeddependency for their stable builds.
Note:--missing and--skip-recommended have precedence over--include-*.
--recursiveResolve more than one level of dependencies.
--installedOnly list formulae and casks that are currently installed.
--missingOnly list formulae and casks that are not currently installed.
--eval-allEvaluate all available formulae and casks, whether installed or not, to showtheir dependents. Enabled by default if
$HOMEBREW_EVAL_ALLis set.--include-implicitInclude formulae that have
formulaas an implicit dependency fordownloading and unpacking source files.--include-buildInclude formulae that specify
formulaas a:builddependency.--include-testInclude formulae that specify
formulaas a:testdependency.--include-optionalInclude formulae that specify
formulaas an:optionaldependency.--skip-recommendedSkip all formulae that specify
formulaas a:recommendeddependency.--formulaInclude only formulae.
--caskInclude only casks.
which-formula [--explain] [--skip-update]command […]
Show which formula(e) provides the given command.
--explainOutput explanation of how to get
commandby installing one of theproviding formulae.--skip-updateSkip updating the executables database if any version exists on disk, nomatter how old.
--cache [options] [formula|cask …]
Display Homebrew’s download cache. See also$HOMEBREW_CACHE.
If aformula orcask is provided, display the file or directory used tocache it.
--osShow cache file for the given operating system. (Pass
allto show cachefiles for all operating systems.)--archShow cache file for the given CPU architecture. (Pass
allto show cachefiles for all architectures.)-s,--build-from-sourceShow the cache file used when building from source.
--force-bottleShow the cache file used when pouring a bottle.
--bottle-tagShow the cache file used when pouring a bottle for the given tag.
--HEADShow the cache file used when building from HEAD.
--formulaOnly show cache files for formulae.
--caskOnly show cache files for casks.
--caskroom [cask …]
Display Homebrew’s Caskroom path.
Ifcask is provided, display the location in the Caskroom wherecaskwould be installed, without any sort of versioned directory as the last path.
--cellar [formula …]
Display Homebrew’s Cellar path.Default:$(brew --prefix)/Cellar, or if thatdirectory doesn’t exist,$(brew --repository)/Cellar.
Ifformula is provided, display the location in the Cellar whereformulawould be installed, without any sort of versioned directory as the last path.
--env,environment [--shell=] [--plain] [formula …]
Summarise Homebrew’s build environment as a plain list.
If the command’s output is sent through a pipe and no shell is specified, thelist is formatted for export tobash(1) unless--plain is passed.
--shellGenerate a list of environment variables for the specified shell, or
--shell=autoto detect the current shell.--plainGenerate plain output even when piped.
--prefix [--unbrewed] [--installed] [formula …]
Display Homebrew’s install path.Default:
- macOS ARM:
/opt/homebrew - macOS Intel:
/usr/local - Linux:
/home/linuxbrew/.linuxbrew
Ifformula is provided, display the location whereformula is or wouldbe installed.
--unbrewedList files in Homebrew’s prefix not installed by Homebrew.
--installedOutputs nothing and returns a failing status code if
formulais notinstalled.
--repository,--repo [tap …]
Display where Homebrew’s Git repository is located.
Ifuser/repo are provided, display where tapuser/repo’sdirectory is located.
--taps
Display the path to Homebrew’s Taps directory.
--version,-v
Print the version numbers of Homebrew, Homebrew/homebrew-core andHomebrew/homebrew-cask (if tapped) to standard output.
DEVELOPER COMMANDS
audit [options] [formula|cask …]
Checkformula orcask for Homebrew coding style violations. This shouldbe run before submitting a new formula or cask. If noformula orcaskare provided, check all locally available formulae and casks and skip stylechecks. Will exit with a non-zero status if any errors are found.
--osAudit the given operating system. (Pass
allto audit all operating systems.)--archAudit the given CPU architecture. (Pass
allto audit all architectures.)--strictRun additional, stricter style checks.
--gitRun additional, slower style checks that navigate the Git repository.
--onlineRun additional, slower style checks that require a network connection.
--installedOnly check formulae and casks that are currently installed.
--eval-allEvaluate all available formulae and casks, whether installed or not, to auditthem. Enabled by default if
$HOMEBREW_EVAL_ALLis set.--newRun various additional style checks to determine if a new formula or cask iseligible for Homebrew. This should be used when creating new formulae or casksand implies
--strictand--online.--[no-]signingAudit for app signatures, which are required by macOS on ARM.
--changedCheck files that were changed from the
mainbranch.--tapCheck formulae and casks within the given tap, specified as
user/repo.--fixFix style violations automatically using RuboCop’s auto-correct feature.
--display-filenamePrefix every line of output with the file or formula name being audited, tomake output easy to grep.
--skip-styleSkip running non-RuboCop style checks. Useful if you plan on running
brewstyleseparately. Enabled by default unless a formula is specified by name.-D,--audit-debugEnable debugging and profiling of audit methods.
--onlySpecify a comma-separated
methodlist to only run the methods namedaudit_method.--exceptSpecify a comma-separated
methodlist to skip running the methods namedaudit_method.--only-copsSpecify a comma-separated
copslist to check for violations of only thelisted RuboCop cops.--except-copsSpecify a comma-separated
copslist to skip checking for violations of thelisted RuboCop cops.--formulaTreat all named arguments as formulae.
--caskTreat all named arguments as casks.
bottle [options]installed_formula|file […]
Generate a bottle (binary package) from a formula that was installed with--build-bottle. If the formula specifies a rebuild version, it will beincremented in the generated DSL. Passing--keep-old will attempt to keep itat its original value, while--no-rebuild will remove it.
--skip-relocationDo not check if the bottle can be marked as relocatable.
--force-core-tapBuild a bottle even if
formulais not inhomebrew/coreor any installedtaps.--no-rebuildIf the formula specifies a rebuild version, remove it from the generated DSL.
--keep-oldIf the formula specifies a rebuild version, attempt to preserve its value inthe generated DSL.
--jsonWrite bottle information to a JSON file, which can be used as the value for
--merge.--mergeGenerate an updated bottle block for a formula and optionally merge it intothe formula file. Instead of a formula name, requires the path to a JSON filegenerated with
brew bottle --jsonformula.--writeWrite changes to the formula file. A new commit will be generated unless
--no-commitis passed.--no-commitWhen passed with
--write, a new commit will not generated after writingchanges to the formula file.--only-json-tabWhen passed with
--json, the tab will be written to the JSON file but notthe bottle.--no-all-checksDon’t try to create an
allbottle or stop a no-change upload.--committerSpecify a committer name and email in
git’s standard author format.--root-urlUse the specified
URLas the root of the bottle’s URL instead ofHomebrew’s default.--root-url-usingUse the specified download strategy class for downloading the bottle’s URLinstead of Homebrew’s default.
bump [options] [formula|cask …]
Displays out-of-date packages and the latest version available. If the returnedcurrent and livecheck versions differ or when querying specific packages, alsodisplays whether a pull request has been opened with the URL.
--full-namePrint formulae/casks with fully-qualified names.
--no-pull-requestsDo not retrieve pull requests from GitHub.
--no-autobumpIgnore formulae/casks in autobump list (official repositories only).
--formulaCheck only formulae.
--caskCheck only casks.
--eval-allEvaluate all formulae and casks. Enabled by default if
$HOMEBREW_EVAL_ALLisset.--repologyUse Repology to check for outdated packages.
--tapCheck formulae and casks within the given tap, specified as
user/repo.--installedCheck formulae and casks that are currently installed.
--no-forkDon’t try to fork the repository.
--open-prOpen a pull request for the new version if none have been opened yet.
--start-withLetter or word that the list of package results should alphabetically follow.
--bump-syncedBump additional formulae marked as synced with the given formulae.
bump-cask-pr [options]cask
Create a pull request to updatecask with a new version.
A best effort to determine theSHA-256 will be made if the value is notsupplied by the user.
-n,--dry-runPrint what would be done rather than doing it.
--write-onlyMake the expected file modifications without taking any Git actions.
--commitWhen passed with
--write-only, generate a new commit after writing changesto the cask file.--no-auditDon’t run
brew auditbefore opening the PR.--no-styleDon’t run
brew style --fixbefore opening the PR.--no-browsePrint the pull request URL instead of opening in a browser.
--no-forkDon’t try to fork the repository.
--versionSpecify the new
versionfor the cask.--version-armSpecify the new cask
versionfor the ARM architecture.--version-intelSpecify the new cask
versionfor the Intel architecture.--messagePrepend
messageto the default pull request message.--urlSpecify the
URLfor the new download.--sha256Specify the
SHA-256checksum of the new download.--fork-orgUse the specified GitHub organization for forking.
bump-formula-pr [options] [formula]
Create a pull request to updateformula with a new URL or a new tag.
If aURL is specified, theSHA-256 checksum of the new download shouldalso be specified. A best effort to determine theSHA-256 will be made ifnot supplied by the user.
If atag is specified, the Git commitrevision corresponding to that tagshould also be specified. A best effort to determine therevision will bemade if the value is not supplied by the user.
If aversion is specified, a best effort to determine theURL andSHA-256 or thetag andrevision will be made if both values are notsupplied by the user.
Note: this command cannot be used to transition a formula from aURL-and-SHA-256 style specification into a tag-and-revision style specification,nor vice versa. It must use whichever style specification the formula alreadyuses.
-n,--dry-runPrint what would be done rather than doing it.
--write-onlyMake the expected file modifications without taking any Git actions.
--commitWhen passed with
--write-only, generate a new commit after writing changesto the formula file.--no-auditDon’t run
brew auditbefore opening the PR.--strictRun
brew audit --strictbefore opening the PR.--onlineRun
brew audit --onlinebefore opening the PR.--no-browsePrint the pull request URL instead of opening in a browser.
--no-forkDon’t try to fork the repository.
--mirrorUse the specified
URLas a mirror URL. IfURLis a comma-separatedlist of URLs, multiple mirrors will be added.--fork-orgUse the specified GitHub organization for forking.
--versionUse the specified
versionto override the value parsed from the URL ortag. Note that--version=0can be used to delete an existing versionoverride from a formula if it has become redundant.--messagePrepend
messageto the default pull request message.--urlSpecify the
URLfor the new download. If aURLis specified, theSHA-256checksum of the new download should also be specified.--sha256Specify the
SHA-256checksum of the new download.--tagSpecify the new git commit
tagfor the formula.--revisionSpecify the new commit
revisioncorresponding to the specified gittagor specifiedversion.-f,--forceRemove all mirrors if
--mirrorwas not specified.--install-dependenciesInstall missing dependencies required to update resources.
--python-package-nameUse the specified
package-namewhen finding Python resources forformula. If no package name is specified, it will be inferred from theformula’s stable URL.--python-extra-packagesInclude these additional Python packages when finding resources.
--python-exclude-packagesExclude these Python packages when finding resources.
bump-revision [options]formula […]
Create a commit to increment the revision offormula. If no revision ispresent, “revision 1” will be added.
-n,--dry-runPrint what would be done rather than doing it.
--remove-bottle-blockRemove the bottle block in addition to bumping the revision.
--write-onlyMake the expected file modifications without taking any Git actions.
--messageAppend
messageto the default commit message.
bump-unversioned-casks [options]cask|tap […]
Check all casks with unversioned URLs in a giventap for updates.
-n,--dry-runDo everything except caching state and opening pull requests.
--limitMaximum runtime in minutes.
--state-fileFile for caching state.
cat [--formula] [--cask]formula|cask […]
Display the source of aformula orcask.
--formulaTreat all named arguments as formulae.
--caskTreat all named arguments as casks.
contributions [--user=] [--repositories=] [--quarter=] [--from=] [--to=] [--csv]
Summarise contributions to Homebrew repositories.
--userSpecify a comma-separated list of GitHub usernames or email addresses to findcontributions from. Omitting this flag searches Homebrew maintainers.
--repositoriesSpecify a comma-separated list of repositories to search. All repositoriesmust be under the same user or organisation. Omitting this flag, or specifying
--repositories=primary, searches only the main repositories:Homebrew/brew,Homebrew/homebrew-core,Homebrew/homebrew-cask.--organisationSpecify the organisation to populate sources repositories from. Omitting thisflag searches the Homebrew primary repositories.
--teamSpecify the team to populate users from. The first part of the team name willbe used as the organisation.
--quarterHomebrew contributions quarter to search (1-4). Omitting this flag searchesthe past year. If
--fromor--toare set, they take precedence.--fromDate (ISO 8601 format) to start searching contributions. Omitting this flagsearches the past year.
--toDate (ISO 8601 format) to stop searching contributions.
--csvPrint a CSV of contributions across repositories over the time period.
create [options]URL
Generate a formula or, with--cask, a cask for the downloadable file atURL and open it in the editor. Homebrew will attempt to automatically derivethe formula name and version, but if it fails, you’ll have to make your owntemplate. Thewget formula serves as a simple example. For the complete API,see:https://docs.brew.sh/rubydoc/Formula
--autotoolsCreate a basic template for an Autotools-style build.
--cabalCreate a basic template for a Cabal build.
--caskCreate a basic template for a cask.
--cmakeCreate a basic template for a CMake-style build.
--crystalCreate a basic template for a Crystal build.
--goCreate a basic template for a Go build.
--mesonCreate a basic template for a Meson-style build.
--nodeCreate a basic template for a Node build.
--perlCreate a basic template for a Perl build.
--pythonCreate a basic template for a Python build.
--rubyCreate a basic template for a Ruby build.
--rustCreate a basic template for a Rust build.
--zigCreate a basic template for a Zig build.
--no-fetchHomebrew will not download
URLto the cache and will thus not add itsSHA-256 to the formula for you, nor will it check the GitHub API for GitHubprojects (to fill out its description and homepage).--HEADIndicate that
URLpoints to the package’s repository rather than a file.--set-nameExplicitly set the
nameof the new formula or cask.--set-versionExplicitly set the
versionof the new formula or cask.--set-licenseExplicitly set the
licenseof the new formula.--tapGenerate the new formula within the given tap, specified as
user/repo.-f,--forceIgnore errors for disallowed formula names and names that shadow aliases.
debugger [--open]command […]
Run the specified Homebrew command in debug mode.
To pass flags to the command, use-- to separate them from thebrew flags.For example:brew debugger -- list --formula.
-O,--openStart remote debugging over a Unix socket.
dispatch-build-bottle [options]formula […]
Build bottles for these formulae with GitHub Actions.
--tapTarget tap repository (default:
homebrew/core).--timeoutBuild timeout (in minutes, default: 60).
--issueIf specified, post a comment to this issue number if the job fails.
--macosmacOS version (or comma-separated list of versions) the bottle should be builtfor.
--workflowDispatch specified workflow (default:
dispatch-build-bottle.yml).--uploadUpload built bottles.
--linuxDispatch bottle for Linux x86_64 (using GitHub runners).
--linux-arm64Dispatch bottle for Linux arm64 (using GitHub runners).
--linux-self-hostedDispatch bottle for Linux x86_64 (using self-hosted runner).
--linux-wheezyUse Debian Wheezy container for building the bottle on Linux.
edit [options] [formula|cask|tap …]
Open aformula,cask ortap in the editor set by$EDITOR or$HOMEBREW_EDITOR, or open the Homebrew repository for editing if no argumentis provided.
--formulaTreat all named arguments as formulae.
--caskTreat all named arguments as casks.
--print-pathPrint the file path to be edited, without opening an editor.
extract [--version=] [--git-revision=] [--force]formulatap
Look through repository history to find the most recent version offormulaand create a copy intap. Specifically, the command will create the newformula file attap/Formula/formula@version.rb. If the tap isnot installed yet, attempt to install/clone the tap before continuing. Toextract a formula from a tap that is nothomebrew/core use its fully-qualifiedform ofuser/repo/formula.
--git-revisionSearch for the specified
versionofformulastarting atrevisioninstead of HEAD.--versionExtract the specified
versionofformulainstead of the most recent.-f,--forceOverwrite the destination formula if it already exists.
formulaformula […]
Display the path whereformula is located.
formula-analytics
Query Homebrew’s analytics.
--days-agoQuery from the specified days ago until the present. The default is 30 days.
--installOutput the number of specifically requested installations or installation asdependencies of formulae. This is the default.
--install-on-requestOutput the number of specifically requested installations of formulae.
--cask-installOutput the number of installations of casks.
--build-errorOutput the number of build errors for formulae.
--os-versionOutput the number of events by OS name and version.
--homebrew-devcmdrun-developerOutput the number of devcmdrun/HOMEBREW_DEVELOPER events.
--homebrew-os-arch-ciOutput the number of OS/Architecture/CI events.
--homebrew-prefixesOutput Homebrew prefixes.
--homebrew-versionsOutput Homebrew versions.
--brew-command-runOutput
brewcommands run.--brew-command-run-optionsOutput
brewcommands run with options.--brew-test-bot-testOutput
brew test-botsteps run.--jsonOutput JSON. This is required: plain text support has been removed.
--all-core-formulae-jsonOutput a different JSON format containing the JSON data for allHomebrew/homebrew-core formulae.
--setupInstall the necessary gems, require them and exit without running a query.
generate-analytics-api
Generates analytics API data files forhttps://formulae.brew.sh. The generatedfiles are written to the current directory.
generate-cask-api [--dry-run]
Generatehomebrew/cask API data files forhttps://formulae.brew.sh. Thegenerated files are written to the current directory.
-n,--dry-runGenerate API data without writing it to files.
generate-formula-api [--dry-run]
Generatehomebrew/core API data files forhttps://formulae.brew.sh. Thegenerated files are written to the current directory.
-n,--dry-runGenerate API data without writing it to files.
generate-man-completions
Generate Homebrew’s manpages and shell completions.
install-bundler-gems [--groups=] [--add-groups=]
Install Homebrew’s Bundler gems.
--groupsInstalls the specified comma-separated list of gem groups (default: lastused). Replaces any previously installed groups.
--add-groupsInstalls the specified comma-separated list of gem groups, in addition tothose already installed.
irb [--examples] [--pry]
Enter the interactive Homebrew Ruby shell.
--examplesShow several examples.
--pryUse Pry instead of IRB. Enabled by default if
$HOMEBREW_PRYis set.
lgtm [--online]
Runbrew typecheck,brew style --changed andbrew tests --changed in onego.
--onlineRun additional, slower checks that require a network connection.
linkage [options] [installed_formula …]
Check the library links from the givenformula kegs. If noformula areprovided, check all kegs. Raises an error if run on uninstalled formulae.
--testShow only missing libraries and exit with a non-zero status if any missinglibraries are found.
--strictExit with a non-zero status if any undeclared dependencies with linkage arefound.
--reverseFor every library that a keg references, print its dylib path followed by thebinaries that link to it.
--cachedPrint the cached linkage values stored in
$HOMEBREW_CACHE, set by a previousbrew linkagerun.
livecheck,lc [options] [formula|cask …]
Check for newer versions of formulae and/or casks from upstream. If no formulaor cask argument is passed, the list of formulae and casks to check is takenfrom$HOMEBREW_LIVECHECK_WATCHLIST or~/.homebrew/livecheck_watchlist.txt.
--full-namePrint formulae and casks with fully-qualified names.
--tapCheck formulae and casks within the given tap, specified as
user/repo.--eval-allEvaluate all available formulae and casks, whether installed or not, to checkthem.
--installedCheck formulae and casks that are currently installed.
--newer-onlyShow the latest version only if it’s newer than the current formula or caskversion.
--jsonOutput information in JSON format.
-r,--resourcesAlso check resources for formulae.
-q,--quietSuppress warnings, don’t print a progress bar for JSON output.
--formulaOnly check formulae.
--caskOnly check casks.
--extract-plistEnable checking multiple casks with ExtractPlist strategy.
--autobumpInclude packages that are autobumped by BrewTestBot. By default these areskipped.
pr-automerge [options]
Find pull requests that can be automatically merged usingbrew pr-publish.
--tapTarget tap repository (default:
homebrew/core).--workflowWorkflow file to use with
brew pr-publish.--with-labelPull requests must have this label.
--without-labelsPull requests must not have these labels (default:
do not merge,newformula,automerge-skip,pre-release,CI-published-bottle-commits).--without-approvalPull requests do not require approval to be merged.
--publishRun
brew pr-publishon matching pull requests.--autosquashInstruct
brew pr-publishto automatically reformat and reword commits in thepull request to the preferred format.--ignore-failuresInclude pull requests that have failing status checks.
pr-publish [options]pull_request […]
Publish bottles for a pull request with GitHub Actions. Requires write access tothe repository.
--autosquashIf supported on the target tap, automatically reformat and reword commits toour preferred format.
--large-runnerRun the upload job on a large runner.
--branchBranch to use the workflow from (default:
main).--messageMessage to include when autosquashing revision bumps, deletions and rebuilds.
--tapTarget tap repository (default:
homebrew/core).--workflowTarget workflow filename (default:
publish-commit-bottles.yml).
pr-pull [options]pull_request […]
Download and publish bottles and apply the bottle commit from a pull requestwith artifacts generated by GitHub Actions. Requires write access to therepository.
--no-uploadDownload the bottles but don’t upload them.
--no-commitDo not generate a new commit before uploading.
--no-cherry-pickDo not cherry-pick commits from the pull request branch.
-n,--dry-runPrint what would be done rather than doing it.
--cleanDo not amend the commits from pull requests.
--keep-oldIf the formula specifies a rebuild version, attempt to preserve its value inthe generated DSL.
--autosquashAutomatically reformat and reword commits in the pull request to our preferredformat.
--branch-okayDo not warn if pulling to a branch besides the repository default (useful fortesting).
--resolveWhen a patch fails to apply, leave in progress and allow user to resolve,instead of aborting.
--warn-on-upload-failureWarn instead of raising an error if the bottle upload fails. Useful forrepairing bottle uploads that previously failed.
--retain-bottle-dirDoes not clean up the tmp directory for the bottle so it can be used later.
--committerSpecify a committer name and email in
git’s standard author format.--messageMessage to include when autosquashing revision bumps, deletions and rebuilds.
--artifact-patternDownload artifacts with the specified pattern (default:
bottles{,_*}).--tapTarget tap repository (default:
homebrew/core).--root-urlUse the specified
URLas the root of the bottle’s URL instead ofHomebrew’s default.--root-url-usingUse the specified download strategy class for downloading the bottle’s URLinstead of Homebrew’s default.
--workflowsRetrieve artifacts from the specified workflow (default:
tests.yml). Can bea comma-separated list to include multiple workflows.--ignore-missing-artifactsComma-separated list of workflows which can be ignored if they have not beenrun.
pr-upload [options]
Apply the bottle commit and publish bottles to a host.
--keep-oldIf the formula specifies a rebuild version, attempt to preserve its value inthe generated DSL. When using GitHub Packages, this also appends the manifestto the existing list.
-n,--dry-runPrint what would be done rather than doing it.
--no-commitDo not generate a new commit before uploading.
--warn-on-upload-failureWarn instead of raising an error if the bottle upload fails. Useful forrepairing bottle uploads that previously failed.
--upload-onlySkip running
brew bottlebefore uploading.--committerSpecify a committer name and email in
git’s standard author format.--root-urlUse the specified
URLas the root of the bottle’s URL instead ofHomebrew’s default.--root-url-usingUse the specified download strategy class for downloading the bottle’s URLinstead of Homebrew’s default.
prof [--stackprof] [--vernier]command […]
Run Homebrew with a Ruby profiler. For example,brew prof readall.
--stackprofUse
stackprofinstead ofruby-prof(the default).--vernierUse
vernierinstead ofruby-prof(the default).
release [options]
Create a new draft Homebrew/brew release with the appropriate version number andrelease notes.
By default,brew release will bump the patch version number. Pass--major or--minor to bump the major or minor version numbers, respectively. The commandwill fail if the previous major or minor release was made less than one monthago.
Without--force, this command will just output the release notes withoutcreating the release or triggering the workflow.
Note: Requires write access to the Homebrew/brew repository.
--majorCreate a major release.
--minorCreate a minor release.
--forceActually create the release and trigger the workflow. Without this, just showwhat would be done.
rubocop
Installs, configures and runs Homebrew’srubocop.
ruby [options] (-etext|file)
Run a Ruby instance with Homebrew’s libraries loaded. For example,brew ruby -e"puts :gcc.f.deps" orbrew ruby script.rb.
Run e.g.brew ruby -- --version to pass arbitrary arguments toruby.
-rLoad a library using
require.-eExecute the given text string as a script.
rubydoc [--only-public] [--open]
Generate Homebrew’s RubyDoc documentation.
--only-publicOnly generate public API documentation.
--openOpen generated documentation in a browser.
sh [options] [file]
Enter an interactive shell for Homebrew’s build environment. Useyears-battle-hardened build logic to help your./configure && make && makeinstall and even yourgem install succeed. Especially handy if you runHomebrew in an Xcode-only configuration since it adds tools likemake to your$PATH which build systems would not find otherwise.
With--ruby, enter an interactive shell for Homebrew’s Ruby environment. Thissets up the correct Ruby paths,$GEM_HOME and bundle configuration used byHomebrew’s development tools. The environment includes gems from the installedgroups, making tools like RuboCop, Sorbet and RSpec available viabundle exec.
-r,--rubySet up Homebrew’s Ruby environment.
--envUse the standard
$PATHinstead of superenv’s whenstdis passed.-c,--cmdExecute commands in a non-interactive shell.
style [options] [file|tap|formula|cask …]
Check formulae or files for conformance to Homebrew style guidelines.
Lists offile,tap andformula may not be combined. If none areprovided,style will run style checks on the whole Homebrew library, includingcore code and all formulae.
--fixFix style violations automatically using RuboCop’s auto-correct feature.
--reset-cacheReset the RuboCop cache.
--changedCheck files that were changed from the
mainbranch.--formulaTreat all named arguments as formulae.
--caskTreat all named arguments as casks.
--only-copsSpecify a comma-separated
copslist to check for violations of only thelisted RuboCop cops.--except-copsSpecify a comma-separated
copslist to skip checking for violations of thelisted RuboCop cops.
tap-new [options]user/repo
Generate the template files for a new tap.
--no-gitDon’t initialize a Git repository for the tap.
--pull-labelLabel name for pull requests ready to be pulled (default:
pr-pull).--branchInitialize Git repository and setup GitHub Actions workflows with thespecified branch name (default:
main).--github-packagesUpload bottles to GitHub Packages.
test [options]installed_formula […]
Run the test method provided by an installed formula. There is no standardoutput or return code, but generally it should notify the user if something iswrong with the installed formula.
Example:brew install jruby && brew test jruby
-f,--forceTest formulae even if they are unlinked.
--HEADTest the HEAD version of a formula.
--keep-tmpRetain the temporary files created for the test.
--retryRetry if a testing fails.
test-bot [options] [formula]
Tests the full lifecycle of a Homebrew change to a tap (Git repository). Forexample, for a GitHub Actions pull request that changes a formulabrewtest-bot will ensure the system is cleaned and set up to test the formula,install the formula, run various tests and checks on it, bottle (package) thebinaries and test formulae that depend on it to ensure they aren’t broken bythese changes.
Only supports GitHub Actions as a CI provider. This is because Homebrew usesGitHub Actions and it’s freely available for public and private use with macOSand Linux workers.
--dry-runPrint what would be done rather than doing it.
--cleanupClean all state from the Homebrew directory. Use with care!
--skip-setupDon’t check if the local system is set up correctly.
--build-from-sourceBuild from source rather than building bottles.
--build-dependents-from-sourceBuild dependents from source rather than testing bottles.
--junitgenerate a JUnit XML test results file.
--keep-oldRun
brew bottle --keep-oldto build new bottles for a single platform.--skip-relocationRun
brew bottle --skip-relocationto build new bottles that don’t requirerelocation.--only-json-tabRun
brew bottle --only-json-tabto build new bottles that do not contain atab.--localAsk Homebrew to write verbose logs under
./logs/and set$HOMEto./home/--tapUse the Git repository of the given tap. Defaults to the core tap for syntaxchecking.
--fail-fastImmediately exit on a failing step.
-v,--verbosePrint test step output in real time. Has the side effect of passing output asraw bytes instead of re-encoding in UTF-8.
--test-default-formulaUse a default testing formula when not building a tap and no other formulaeare specified.
--root-urlUse the specified
URLas the root of the bottle’s URL instead ofHomebrew’s default.--git-nameSet the Git author/committer names to the given name.
--git-emailSet the Git author/committer email to the given email.
--publishPublish the uploaded bottles.
--skip-online-checksDon’t pass
--onlinetobrew auditand skipbrew livecheck.--skip-newDon’t pass
--newtobrew auditfor new formulae.--skip-new-strictDon’t pass
--stricttobrew auditfor new formulae.--skip-dependentsDon’t test any dependents.
--skip-livecheckDon’t test livecheck.
--skip-recursive-dependentsOnly test the direct dependents.
--skip-checksum-only-auditDon’t audit checksum-only changes.
--skip-stable-version-auditDon’t audit the stable version.
--skip-revision-auditDon’t audit the revision.
--only-cleanup-beforeOnly run the pre-cleanup step. Needs
--cleanup, except in GitHub Actions.--only-setupOnly run the local system setup check step.
--only-tap-syntaxOnly run the tap syntax check step.
--stableOnly run the tap syntax checks needed on stable brew.
--only-formulaeOnly run the formulae steps.
--only-formulae-detectOnly run the formulae detection steps.
--only-formulae-dependentsOnly run the formulae dependents steps.
--only-bottles-fetchOnly run the bottles fetch steps. This optional post-upload test checks thatall the bottles were uploaded correctly. It is not run unless requested andonly needs to be run on a single machine. The bottle commit to be tested mustbe on the tested branch.
--only-cleanup-afterOnly run the post-cleanup step. Needs
--cleanup, except in GitHub Actions.--testing-formulaeUse these testing formulae rather than running the formulae detection steps.
--added-formulaeUse these added formulae rather than running the formulae detection steps.
--deleted-formulaeUse these deleted formulae rather than running the formulae detection steps.
--skipped-or-failed-formulaeUse these skipped or failed formulae from formulae steps for a formulaedependents step.
--tested-formulaeUse these tested formulae from formulae steps for a formulae dependents step.
tests [options]
Run Homebrew’s unit and integration tests.
--coverageGenerate code coverage reports.
--genericRun only OS-agnostic tests.
--onlineInclude tests that use the GitHub API and tests that use any of the taps forofficial external commands.
--debugEnable debugging using
ruby/debug, or surface the standardodebugoutput.--changedOnly runs tests on files that were changed from the
mainbranch.--fail-fastExit early on the first failing test.
--no-parallelRun tests serially.
--stackprofUse
stackprofto profile tests.--vernierUse
vernierto profile tests.--ruby-profUse
ruby-profto profile tests.--onlyRun only
<test_script>_spec.rb. Appending:<line_number>will start at aspecific line.--profileOutput the
nslowest tests. When run without--no-parallelthis willoutput the slowest tests for each parallel test process.--seedRandomise tests with the specified
valueinstead of a random seed.
typecheck,tc [options] [tap …]
Check for typechecking errors using Sorbet.
--fixAutomatically fix type errors.
-q,--quietSilence all non-critical errors.
--updateUpdate RBI files.
--update-allUpdate all RBI files rather than just updated gems.
--suggest-typedTry upgrading
typedsigils.--lspStart the Sorbet LSP server.
--dirTypecheck all files in a specific directory.
--fileTypecheck a single file.
--ignoreIgnores input files that contain the given string in their paths (relative tothe input path passed to Sorbet).
unbottled [options] [formula …]
Show the unbottled dependents of formulae.
--tagUse the specified bottle tag (e.g.
big_sur) instead of the current OS.--dependentsSkip getting analytics data and sort by number of dependents instead.
--totalPrint the number of unbottled and total formulae.
--lostPrint the
homebrew/corecommits where bottles were lost in the last week.--eval-allEvaluate all available formulae and casks, whether installed or not, to checkthem. Enabled by default if
$HOMEBREW_EVAL_ALLis set.
unpack [options]formula|cask […]
Unpack the files for theformula orcask into subdirectories of thecurrent working directory.
--destdirCreate subdirectories in the directory named by
pathinstead.--patchPatches for
formulawill be applied to the unpacked source.-g,--gitInitialise a Git repository in the unpacked source. This is useful forcreating patches for the software.
-f,--forceOverwrite the destination directory if it already exists.
--formulaTreat all named arguments as formulae.
--caskTreat all named arguments as casks.
update-license-data
Update SPDX license data in the Homebrew repository.
update-maintainers
Update the list of maintainers in theHomebrew/brew README.
update-perl-resources [options]formula […]
Update versions for CPAN resource blocks informula.
-p,--print-onlyPrint the updated resource blocks instead of changing
formula.-s,--silentSuppress any output.
--ignore-errorsContinue processing even if some resources can’t be resolved.
update-python-resources [options]formula […]
Update versions for PyPI resource blocks informula.
-p,--print-onlyPrint the updated resource blocks instead of changing
formula.-s,--silentSuppress any output.
--ignore-errorsRecord all discovered resources, even those that can’t be resolvedsuccessfully. This option is ignored for homebrew/core formulae.
--ignore-non-pypi-packagesDon’t fail if
formulais not a PyPI package.--install-dependenciesInstall missing dependencies required to update resources.
--versionUse the specified
versionwhen finding resources forformula. If noversion is specified, the current version forformulawill be used.--package-nameUse the specified
package-namewhen finding resources forformula. Ifno package name is specified, it will be inferred from the formula’s stableURL.--extra-packagesInclude these additional packages when finding resources.
--exclude-packagesExclude these packages when finding resources.
update-sponsors
Update the list of GitHub Sponsors in theHomebrew/brew README.
update-test [options]
Run a test ofbrew update with a new repository clone. If no options arepassed, useorigin/main as the start commit.
--to-tagSet
$HOMEBREW_UPDATE_TO_TAGto test updating between tags.--keep-tmpRetain the temporary directory containing the new repository clone.
--commitUse the specified
commitas the start commit.--beforeUse the commit at the specified
dateas the start commit.
vendor-gems [--update=] [--no-commit]
Install and commit Homebrew’s vendored gems.
--updateUpdate the specified list of vendored gems to the latest version.
--no-commitDo not generate a new commit upon completion.
verify [options]formula […]
Verify the build provenance of bottles using GitHub’s attestation tools. This isdone by first fetching the given bottles and then verifying their provenance.
Note that this command depends on the GitHub CLI. Runbrew install gh.
--osDownload for the given operating system. (Pass
allto download for alloperating systems.)--archDownload for the given CPU architecture. (Pass
allto download for allarchitectures.)--bottle-tagDownload a bottle for given tag.
--depsAlso download dependencies for any listed
formula.-f,--forceRemove a previously cached version and re-fetch.
-j,--jsonReturn JSON for the attestation data for each bottle.
which-update [options]database
Database update forbrew which-formula.
--statsPrint statistics about the database contents (number of commands and formulae,list of missing formulae).
--commitCommit the changes using
git.--update-existingUpdate database entries with outdated formula versions.
--install-missingInstall and update formulae that are missing from the database and don’t havebottles.
--eval-allEvaluate all installed taps, rather than just the core tap.
--max-downloadsSpecify a maximum number of formulae to download and update.
--summary-fileOutput a summary of the changes to a file.
GLOBAL CASK OPTIONS
These options are applicable to theinstall,reinstall andupgradesubcommands with the--cask switch.
--appdirTarget location for Applications (default:
/Applications).--keyboard-layoutdirTarget location for Keyboard Layouts (default:
/Library/Keyboard Layouts).--colorpickerdirTarget location for Color Pickers (default:
~/Library/ColorPickers).--prefpanedirTarget location for Preference Panes (default:
~/Library/PreferencePanes).--qlplugindirTarget location for Quick Look Plugins (default:
~/Library/QuickLook).--mdimporterdirTarget location for Spotlight Plugins (default:
~/Library/Spotlight).--dictionarydirTarget location for Dictionaries (default:
~/Library/Dictionaries).--fontdirTarget location for Fonts (default:
~/Library/Fonts).--servicedirTarget location for Services (default:
~/Library/Services).--input-methoddirTarget location for Input Methods (default:
~/Library/Input Methods).--internet-plugindirTarget location for Internet Plugins (default:
~/Library/Internet Plug-Ins).--audio-unit-plugindirTarget location for Audio Unit Plugins (default:
~/Library/Audio/Plug-Ins/Components).--vst-plugindirTarget location for VST Plugins (default:
~/Library/Audio/Plug-Ins/VST).--vst3-plugindirTarget location for VST3 Plugins (default:
~/Library/Audio/Plug-Ins/VST3).--screen-saverdirTarget location for Screen Savers (default:
~/Library/Screen Savers).--languageComma-separated list of language codes to prefer for cask installation. Thefirst matching language is used, otherwise it reverts to the cask’s defaultlanguage. The default value is the language of your system.
GLOBAL OPTIONS
These options are applicable across multiple subcommands.
-d,--debugDisplay any debugging information.
-q,--quietMake some output more quiet.
-v,--verboseMake some output more verbose.
-h,--helpShow this message.
CUSTOM EXTERNAL COMMANDS
Homebrew, likegit(1), supports external commands. These are executablescripts that reside somewhere in the$PATH, namedbrew-cmdname orbrew-cmdname.rb, which can be invoked likebrewcmdname. Thisallows you to create your own commands without modifying Homebrew’s internals.
Instructions for creating your own commands can be found in the docs:https://docs.brew.sh/External-Commands
SPECIFYING FORMULAE
Many Homebrew commands accept one or moreformula arguments. These argumentscan take several different forms:
The name of a formula: e.g.
git,node,wget.The fully-qualified name of a tapped formula: Sometimes a formula from atapped repository may conflict with one in
homebrew/core. You can stillaccess these formulae by using a special syntax, e.g.homebrew/dupes/vimorhomebrew/versions/node4.
SPECIFYING CASKS
Many Homebrew Cask commands accept one or morecask arguments. These can bespecified the same way as theformula arguments described inSPECIFYINGFORMULAE above.
ENVIRONMENT
Note that environment variables must have a value set to be detected. Forexample, runexport HOMEBREW_NO_INSECURE_REDIRECT=1 rather than justexportHOMEBREW_NO_INSECURE_REDIRECT.
HOMEBREW_* environment variables can also be set in Homebrew’s environmentfiles:
/etc/homebrew/brew.env(system-wide)${HOMEBREW_PREFIX}/etc/homebrew/brew.env(prefix-specific)$XDG_CONFIG_HOME/homebrew/brew.envif$XDG_CONFIG_HOMEis set or~/.homebrew/brew.envotherwise (user-specific)
User-specific environment files take precedence over prefix-specific files andprefix-specific files take precedence over system-wide files (unless$HOMEBREW_SYSTEM_ENV_TAKES_PRIORITY is set, see below).
Note that these files do not support shell variable expansion (e.g.$HOME) orcommand execution (e.g.$(cat file)).
HOMEBREW_ALLOWED_TAPSA space-separated list of taps. Homebrew will refuse to install a formulaunless it and all of its dependencies are in an official tap or in a tap onthis list.
HOMEBREW_API_AUTO_UPDATE_SECSCheck Homebrew’s API for new formulae or cask data every
$HOMEBREW_API_AUTO_UPDATE_SECSseconds. Alternatively, disable APIauto-update checks entirely with$HOMEBREW_NO_AUTO_UPDATE.Default:
450.HOMEBREW_API_DOMAINUse this URL as the download mirror for Homebrew JSON API. If metadata filesat that URL are temporarily unavailable, the default API domain will be usedas a fallback mirror.
Default:
https://formulae.brew.sh/api.HOMEBREW_ARCHLinux only: Pass this value to a type name representing the compiler’s
-marchoption.Default:
native.HOMEBREW_ARTIFACT_DOMAINPrefix all download URLs, including those for bottles, with this value. Forexample,
export HOMEBREW_ARTIFACT_DOMAIN=http://localhost:8080will cause aformula with the URLhttps://example.com/foo.tar.gzto instead download fromhttp://localhost:8080/https://example.com/foo.tar.gz. Bottle URLs however,have their domain replaced with this prefix. This results in e.g.https://ghcr.io/v2/homebrew/core/gettext/manifests/0.21to instead bedownloaded fromhttp://localhost:8080/v2/homebrew/core/gettext/manifests/0.21HOMEBREW_ARTIFACT_DOMAIN_NO_FALLBACKWhen
$HOMEBREW_ARTIFACT_DOMAINand$HOMEBREW_ARTIFACT_DOMAIN_NO_FALLBACKare both set, if the request to$HOMEBREW_ARTIFACT_DOMAINfails thenHomebrew will error rather than trying any other/default URLs.HOMEBREW_ASKIf set, pass
--askto all formulaebrew install,brew upgradeandbrewreinstallcommands.HOMEBREW_AUTO_UPDATE_SECSRun
brew updateonce every$HOMEBREW_AUTO_UPDATE_SECSseconds before somecommands, e.g.brew install,brew upgradeorbrew tap. Alternatively,disable auto-update entirely with$HOMEBREW_NO_AUTO_UPDATE.Default:
86400(24 hours),3600(1 hour) if a developer command has beenrun or300(5 minutes) if$HOMEBREW_NO_INSTALL_FROM_APIis set.HOMEBREW_BATIf set, use
batfor thebrew catcommand.HOMEBREW_BAT_CONFIG_PATHUse this as the
batconfiguration file.Default:
$BAT_CONFIG_PATH.HOMEBREW_BAT_THEMEUse this as the
battheme for syntax highlighting.Default:
$BAT_THEME.HOMEBREW_BOTTLE_DOMAINUse this URL as the download mirror for bottles. If bottles at that URL aretemporarily unavailable, the default bottle domain will be used as a fallbackmirror. For example,
export HOMEBREW_BOTTLE_DOMAIN=http://localhost:8080will cause all bottles to download from the prefixhttp://localhost:8080/.If bottles are not available at$HOMEBREW_BOTTLE_DOMAINthey will bedownloaded from the default bottle domain.Default:
https://ghcr.io/v2/homebrew/core.HOMEBREW_BREW_GIT_REMOTEUse this URL as the Homebrew/brew
git(1) remote.Default:
https://github.com/Homebrew/brew.HOMEBREW_BROWSERUse this as the browser when opening project homepages.
Default:
$BROWSERor the OS’s default browser.HOMEBREW_BUNDLE_USER_CACHEIf set, use this directory as the
bundle(1) user cache.HOMEBREW_CACHEUse this directory as the download cache.
Default: macOS:
~/Library/Caches/Homebrew, Linux:$XDG_CACHE_HOME/Homebrewor~/.cache/Homebrew.HOMEBREW_CASK_OPTSAppend these options to all
caskcommands. All--*diroptions,--language,--require-shaand--no-binariesare supported. For example,you might add something like the following to your~/.profile,~/.bash_profile, or~/.zshenv:export HOMEBREW_CASK_OPTS="--appdir=${HOME}/Applications--fontdir=/Library/Fonts"HOMEBREW_CLEANUP_MAX_AGE_DAYSCleanup all cached files older than this many days.
Default:
120.HOMEBREW_CLEANUP_PERIODIC_FULL_DAYSIf set,
brew install,brew upgradeandbrew reinstallwill cleanup allformulae when this number of days has passed.Default:
30.HOMEBREW_COLORIf set, force colour output on non-TTY outputs.
HOMEBREW_CORE_GIT_REMOTEUse this URL as the Homebrew/homebrew-core
git(1) remote.Default:
https://github.com/Homebrew/homebrew-core.HOMEBREW_CURLRCIf set to an absolute path (i.e. beginning with
/), pass it with--configwhen invokingcurl(1). If set butnot a valid path, do not pass--disable, which disables the use of.curlrc.HOMEBREW_CURL_PATHLinux only: Set this value to a new enough
curlexecutable for Homebrew touse.Default:
curl.HOMEBREW_CURL_RETRIESPass the given retry count to
--retrywhen invokingcurl(1).Default:
3.HOMEBREW_CURL_VERBOSEIf set, pass
--verbosewhen invokingcurl(1).HOMEBREW_DEBUGIf set, always assume
--debugwhen running commands.HOMEBREW_DEVELOPERIf set, tweak behaviour to be more relevant for Homebrew developers (active orbudding) by e.g. turning warnings into errors.
HOMEBREW_DISABLE_DEBREWIf set, the interactive formula debugger available via
--debugwill bedisabled.HOMEBREW_DISABLE_LOAD_FORMULAIf set, refuse to load formulae. This is useful when formulae are not trusted(such as in pull requests).
HOMEBREW_DISPLAYUse this X11 display when opening a page in a browser, for example with
brewhome. Primarily useful on Linux.Default:
$DISPLAY.HOMEBREW_DISPLAY_INSTALL_TIMESIf set, print install times for each formula at the end of the run.
HOMEBREW_DOCKER_REGISTRY_BASIC_AUTH_TOKENUse this base64 encoded username and password for authenticating with a Dockerregistry proxying GitHub Packages. If
$HOMEBREW_DOCKER_REGISTRY_TOKENisset, it will be used instead.HOMEBREW_DOCKER_REGISTRY_TOKENUse this bearer token for authenticating with a Docker registry proxyingGitHub Packages. Preferred over
$HOMEBREW_DOCKER_REGISTRY_BASIC_AUTH_TOKEN.HOMEBREW_DOWNLOAD_CONCURRENCYHomebrew will download in parallel using this many concurrent connections. Thedefault,
auto, will use twice the number of available CPU cores (what ourbenchmarks showed to produce the best performance). If set to1, Homebrewwill download in serial.Default:
auto.HOMEBREW_EDITORUse this editor when editing a single formula, or several formulae in the samedirectory.
Note:
brew editwill open all of Homebrew as discontinuous files anddirectories. Visual Studio Code can handle this correctly in project mode, butmany editors will do strange things in this case.Default:
$EDITORor$VISUAL.HOMEBREW_ENV_SYNC_STRICTIf set,
brew *env-syncwill only sync the exact installed versions offormulae.HOMEBREW_EVAL_ALLIf set,
brewcommands evaluate all formulae and casks, executing theirarbitrary code, by default without requiring--eval-all. Required to cacheformula and cask descriptions.HOMEBREW_FAIL_LOG_LINESOutput this many lines of output on formula
systemfailures.Default:
15.HOMEBREW_FORBIDDEN_CASKSA space-separated list of casks. Homebrew will refuse to install a cask if itor any of its dependencies is on this list.
HOMEBREW_FORBIDDEN_CASK_ARTIFACTSA space-separated list of cask artifact types (e.g.
pkg installer) thatshould be forbidden during cask installation. Valid values:pkg,installer,binary,uninstall,zap,app,suite,artifact,prefpane,qlplugin,dictionary,font,service,colorpicker,inputmethod,internetplugin,audiounitplugin,vstplugin,vst3plugin,screensaver,keyboardlayout,mdimporter,preflight,postflight,manpage,bashcompletion,fishcompletion,zshcompletion,stageonly.HOMEBREW_FORBIDDEN_FORMULAEA space-separated list of formulae. Homebrew will refuse to install a formulaor cask if it or any of its dependencies is on this list.
HOMEBREW_FORBIDDEN_LICENSESA space-separated list of SPDX license identifiers. Homebrew will refuse toinstall a formula if it or any of its dependencies has a license on this list.
HOMEBREW_FORBIDDEN_OWNERThe person who has set any
$HOMEBREW_FORBIDDEN_*variables.Default:
you.HOMEBREW_FORBIDDEN_OWNER_CONTACTHow to contact the
$HOMEBREW_FORBIDDEN_OWNER, if set and necessary.HOMEBREW_FORBIDDEN_TAPSA space-separated list of taps. Homebrew will refuse to install a formula ifit or any of its dependencies is in a tap on this list.
HOMEBREW_FORBID_CASKSIf set, Homebrew will refuse to install any casks.
HOMEBREW_FORBID_PACKAGES_FROM_PATHSIf set, Homebrew will refuse to read formulae or casks provided from filepaths, e.g.
brew install ./package.rb.Default: true unless
$HOMEBREW_DEVELOPERis set.HOMEBREW_FORCE_API_AUTO_UPDATEIf set, update the Homebrew API formula or cask data even if
$HOMEBREW_NO_AUTO_UPDATEis set.HOMEBREW_FORCE_BREWED_CA_CERTIFICATESIf set, always use a Homebrew-installed
ca-certificatesrather than thesystem version. Automatically set if the system version is too old.HOMEBREW_FORCE_BREWED_CURLIf set, always use a Homebrew-installed
curl(1) rather than the systemversion. Automatically set if the system version ofcurlis too old.HOMEBREW_FORCE_BREWED_GITIf set, always use a Homebrew-installed
git(1) rather than the systemversion. Automatically set if the system version ofgitis too old.HOMEBREW_FORCE_BREW_WRAPPERIf set, require
brewto be invoked by the value of$HOMEBREW_FORCE_BREW_WRAPPERfor non-trivialbrewcommands.HOMEBREW_FORCE_VENDOR_RUBYIf set, always use Homebrew’s vendored, relocatable Ruby version even if thesystem version of Ruby is new enough.
HOMEBREW_FORMULA_BUILD_NETWORKIf set, controls network access to the sandbox for formulae builds. Overridesany controls set through DSL usage inside formulae. Must be
allowordeny.If no value is set through this environment variable or DSL usage, the defaultbehaviour isallow.HOMEBREW_FORMULA_POSTINSTALL_NETWORKIf set, controls network access to the sandbox for formulae postinstall.Overrides any controls set through DSL usage inside formulae. Must be
allowordeny. If no value is set through this environment variable or DSL usage,the default behaviour isallow.HOMEBREW_FORMULA_TEST_NETWORKIf set, controls network access to the sandbox for formulae test. Overridesany controls set through DSL usage inside formulae. Must be
allowordeny.If no value is set through this environment variable or DSL usage, the defaultbehaviour isallow.HOMEBREW_GITHUB_API_TOKENUse this personal access token for the GitHub API, for features such as
brewsearch. You can create one athttps://github.com/settings/tokens. If set,GitHub will allow you a greater number of API requests. For more information,see:https://docs.github.com/en/rest/overview/rate-limits-for-the-rest-apiNote: Homebrew doesn’t require permissions for any of the scopes, but somedeveloper commands may require additional permissions.
HOMEBREW_GITHUB_PACKAGES_TOKENUse this GitHub personal access token when accessing the GitHub PackagesRegistry (where bottles may be stored).
HOMEBREW_GITHUB_PACKAGES_USERUse this username when accessing the GitHub Packages Registry (where bottlesmay be stored).
HOMEBREW_GIT_COMMITTER_EMAILSet the Git committer email to this value.
HOMEBREW_GIT_COMMITTER_NAMESet the Git committer name to this value.
HOMEBREW_GIT_EMAILSet the Git author name and, if
$HOMEBREW_GIT_COMMITTER_EMAILis unset,committer email to this value.HOMEBREW_GIT_NAMESet the Git author name and, if
$HOMEBREW_GIT_COMMITTER_NAMEis unset,committer name to this value.HOMEBREW_GIT_PATHLinux only: Set this value to a new enough
gitexecutable for Homebrew touse.Default:
git.HOMEBREW_INSTALL_BADGEPrint this text before the installation summary of each successful build.
Default: The “Beer Mug” emoji.
HOMEBREW_LIVECHECK_AUTOBUMPIf set,
brew livecheckwill include data for packages that are autobumped byBrewTestBot.HOMEBREW_LIVECHECK_WATCHLISTConsult this file for the list of formulae to check by default when no formulaargument is passed to
brew livecheck.Default:
${XDG_CONFIG_HOME}/homebrew/livecheck_watchlist.txtif$XDG_CONFIG_HOMEis set or~/.homebrew/livecheck_watchlist.txtotherwise.HOMEBREW_LOCK_CONTEXTIf set, Homebrew will add this output as additional context for lockingerrors. This is useful when running
brewin the background.HOMEBREW_LOGSUse this directory to store log files.
Default: macOS:
~/Library/Logs/Homebrew, Linux:${XDG_CACHE_HOME}/Homebrew/Logsor~/.cache/Homebrew/Logs.HOMEBREW_MAKE_JOBSUse this value as the number of parallel jobs to run when building with
make(1).Default: The number of available CPU cores.
HOMEBREW_NO_ANALYTICSIf set, do not send analytics. Google Analytics were destroyed. For moreinformation, see:https://docs.brew.sh/Analytics
HOMEBREW_NO_AUTOREMOVEIf set, calls to
brew cleanupandbrew uninstallwill not automaticallyremove unused formula dependents.HOMEBREW_NO_AUTO_UPDATEIf set, do not automatically update before running some commands, e.g.
brewinstall,brew upgradeorbrew tap. Preferably, run this less often bysetting$HOMEBREW_AUTO_UPDATE_SECSto a value higher than the default. Notethat setting this and e.g. tapping new taps may result in a brokenconfiguration. Please ensure you always runbrew updatebefore reporting anyissues.HOMEBREW_NO_BOOTSNAPIf set, do not use Bootsnap to speed up repeated
brewcalls.HOMEBREW_NO_CLEANUP_FORMULAEA comma-separated list of formulae. Homebrew will refuse to clean up orautoremove a formula if it appears on this list.
HOMEBREW_NO_COLORIf set, do not print text with colour added.
Default:
$NO_COLOR.HOMEBREW_NO_EMOJIIf set, do not print
$HOMEBREW_INSTALL_BADGEon a successful build.HOMEBREW_NO_ENV_HINTSIf set, do not print any hints about changing Homebrew’s behaviour withenvironment variables.
HOMEBREW_NO_FORCE_BREW_WRAPPERDeprecated:If set, disables$HOMEBREW_FORCE_BREW_WRAPPERbehaviour, evenif set.HOMEBREW_NO_GITHUB_APIIf set, do not use the GitHub API, e.g. for searches or fetching relevantissues after a failed install.
HOMEBREW_NO_INSECURE_REDIRECTIf set, forbid redirects from secure HTTPS to insecure HTTP.
Note: while ensuring your downloads are fully secure, this is likely tocause sources for certain formulae hosted by SourceForge, GNU or GNOME to failto download.
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECKIf set, do not check for broken linkage of dependents or outdated dependentsafter installing, upgrading or reinstalling formulae. This will result infewer dependents (and their dependencies) being upgraded or reinstalled butmay result in more breakage from running
brew installformulaorbrewupgradeformula.HOMEBREW_NO_INSTALL_CLEANUPIf set,
brew install,brew upgradeandbrew reinstallwill neverautomatically cleanup installed/upgraded/reinstalled formulae or all formulaeevery$HOMEBREW_CLEANUP_PERIODIC_FULL_DAYSdays. Alternatively,$HOMEBREW_NO_CLEANUP_FORMULAEallows specifying specific formulae to notclean up.HOMEBREW_NO_INSTALL_FROM_APIIf set, do not install formulae and casks in homebrew/core and homebrew/casktaps using Homebrew’s API and instead use (large, slow) local checkouts ofthese repositories.
HOMEBREW_NO_INSTALL_UPGRADEIf set,
brew installformula|caskwill not upgradeformula|caskifit is installed but outdated.HOMEBREW_NO_UPDATE_REPORT_NEWIf set,
brew updatewill not show the list of newly added formulae/casks.HOMEBREW_NO_VERIFY_ATTESTATIONSIf set, Homebrew will not verify cryptographic attestations of buildprovenance for bottles from homebrew-core.
HOMEBREW_PIP_INDEX_URLIf set,
brew installformulawill use this URL to download PyPI packageresources.Default:
https://pypi.org/simple.HOMEBREW_PRYIf set, use Pry for the
brew irbcommand.HOMEBREW_SIMULATE_MACOS_ON_LINUXIf set, running Homebrew on Linux will simulate certain macOS code paths. Thisis useful when auditing macOS formulae while on Linux.
HOMEBREW_SKIP_OR_LATER_BOTTLESIf set along with
$HOMEBREW_DEVELOPER, do not use bottles from olderversions of macOS. This is useful in development on new macOS versions.HOMEBREW_SORBET_RECURSIVEIf set along with
$HOMEBREW_SORBET_RUNTIME, enable recursive typecheckingusing Sorbet. Auomatically enabled when running tests.HOMEBREW_SORBET_RUNTIMEIf set, enable runtime typechecking using Sorbet. Set by default for
$HOMEBREW_DEVELOPERor when running some developer commands.HOMEBREW_SSH_CONFIG_PATHIf set, Homebrew will use the given config file instead of
~/.ssh/configwhen fetching Git repositories over SSH.Default:
~/.ssh/configHOMEBREW_SUDO_THROUGH_SUDO_USERIf set, Homebrew will use the
$SUDO_USERenvironment variable to define theuser tosudo(8) through when runningsudo(8).HOMEBREW_SVNUse this as the
svn(1) binary.Default: A Homebrew-built Subversion (if installed), or the system-providedbinary.
HOMEBREW_SYSTEM_ENV_TAKES_PRIORITYIf set in Homebrew’s system-wide environment file (
/etc/homebrew/brew.env),the system-wide environment file will be loaded last to override any prefix oruser settings.HOMEBREW_TEMPUse this path as the temporary directory for building packages. Changing thismay be needed if your system temporary directory and Homebrew prefix are ondifferent volumes, as macOS has trouble moving symlinks across volumes whenthe target does not yet exist. This issue typically occurs when usingFileVault or custom SSD configurations.
Default: macOS:
/private/tmp, Linux:/var/tmp.HOMEBREW_UPDATE_TO_TAGIf set, always use the latest stable tag (even if developer commands have beenrun).
HOMEBREW_UPGRADE_GREEDYIf set, pass
--greedyto all cask upgrade commands.HOMEBREW_UPGRADE_GREEDY_CASKSA space-separated list of casks. Homebrew will act as if
--greedywas passedwhen upgrading any cask on this list.HOMEBREW_USE_INTERNAL_APIIf set, test the new beta internal API for fetching formula and cask data.
HOMEBREW_VERBOSEIf set, always assume
--verbosewhen running commands.HOMEBREW_VERBOSE_USING_DOTSIf set, verbose output will print a
.no more than once a minute. This canbe useful to avoid long-running Homebrew commands being killed due to nooutput.HOMEBREW_VERIFY_ATTESTATIONSIf set, Homebrew will use the
ghtool to verify cryptographic attestationsof build provenance for bottles from homebrew-core.SUDO_ASKPASSIf set, pass the
-Aoption when callingsudo(8).all_proxyUse this SOCKS5 proxy for
curl(1),git(1) andsvn(1) when downloadingthrough Homebrew.ftp_proxyUse this FTP proxy for
curl(1),git(1) andsvn(1) when downloadingthrough Homebrew.http_proxyUse this HTTP proxy for
curl(1),git(1) andsvn(1) when downloadingthrough Homebrew.https_proxyUse this HTTPS proxy for
curl(1),git(1) andsvn(1) when downloadingthrough Homebrew.no_proxyA comma-separated list of hostnames and domain names excluded from proxying by
curl(1),git(1) andsvn(1) when downloading through Homebrew.
USING HOMEBREW BEHIND A PROXY
Set thehttp_proxy,https_proxy,all_proxy,ftp_proxy and/orno_proxyenvironment variables documented above.
For example, to use an unauthenticated HTTP or SOCKS5 proxy:
export http_proxy=http://$HOST:$PORTexport all_proxy=socks5://$HOST:$PORTAnd for an authenticated HTTP proxy:
export http_proxy=http://$USER:$PASSWORD@$HOST:$PORTSEE ALSO
Homebrew Documentation:https://docs.brew.sh
Homebrew API:https://docs.brew.sh/rubydoc/
git(1),git-log(1)
AUTHORS
Homebrew’s Project Leader is Mike McQuaid.
Homebrew’s Lead Maintainers are Bevan Kay, Bo Anderson, Branch Vincent, CarloCabrera, Dustin Rodrigues, FX Coudert, Issy Long, Justin Krehel, Michael Cho,Michka Popoff, Mike McQuaid, Nanda H Krishna, Patrick Linnane, Rui Chen, RuoyuZhong, Sam Ford, Sean Molenaar and Thierry Moisan.
Homebrew’s other Maintainers are Anton Melnikov, Caleb Xu, Daeho Ro, DouglasEichelberger, Eric Knibbe, Klaus Hipp, Markus Reiter, Rylan Polster, ŠtefanBaebler and William Woodruff.
Former Maintainers with significant contributions include Alexander Bayandin,Miccal Matthews, Misty De Méo, Shaun Jackman, Vítor Galvão, Claudia Pellegrino,Seeker, Jan Viljanen, JCount, commitay, Dominyk Tiller, Tim Smith, BaptisteFontaine, Xu Cheng, Martin Afanasjew, Brett Koonce, Charlie Sharpsteen, JackNagel, Adam Vandenberg, Andrew Janke, Alex Dunn, neutric, Tomasz Pajor,Uladzislau Shablinski, Alyssa Ross, ilovezfs, Chongyu Zhu and Homebrew’screator: Max Howell.
BUGS
See our issues on GitHub:
- Homebrew/brew
- Homebrew/homebrew-core
- Homebrew/homebrew-cask