2016-04-17 05:34:41 +02:00
<%
# To make changes to this man page:
#
# - For changes to a specific command (appears in the `COMMANDS` section):
# - Edit the top comment in `Library/Homebrew/cmd/<command>.{rb,sh}`.
# - Make sure to use the line prefix `#:` for the comments to be recognized as
# documentation. If in doubt, compare with already documented commands.
# - For other changes: Edit this file.
#
# When done, regenerate the man page and its HTML version by running `brew man`.
%>
2016-09-18 19:57:19 +01:00
brew(1) -- The missing package manager for macOS
2016-04-17 05:33:21 +02:00
===============================================
2016-04-08 16:28:35 +02:00
2016-04-17 05:33:21 +02:00
## SYNOPSIS
`brew` `--version`<br>
`brew` <command> [`--verbose`|`-v`] [<options>] [<formula>] ...
## DESCRIPTION
Homebrew is the easiest and most flexible way to install the UNIX tools Apple
2016-09-18 19:57:19 +01:00
didn't include with macOS.
2016-04-17 05:33:21 +02:00
## ESSENTIAL COMMANDS
2017-06-04 11:12:56 +01:00
For the full command list, see the [COMMANDS](#commands) section.
2016-04-17 05:33:21 +02:00
With `--verbose` or `-v`, many commands print extra debugging information. Note that these flags should only appear after a command.
* `install` <formula>:
Install <formula>.
2017-01-11 14:19:56 -08:00
* `uninstall` <formula>:
2016-04-17 05:33:21 +02:00
Uninstall <formula>.
* `update`:
Fetch the newest version of Homebrew from GitHub using `git`(1).
* `list`:
List all installed formulae.
2017-02-25 17:37:57 -05:00
* `search` (<text>|`/`<text>`/`):
2016-04-17 05:33:21 +02:00
Perform a substring search of formula names for <text>. If <text> is
surrounded with slashes, then it is interpreted as a regular expression.
The search for <text> is extended online to some popular taps.
If no search term is given, all locally available formulae are listed.
## COMMANDS
<%= commands.join("\n") %>
2016-04-08 16:28:35 +02:00
2016-09-05 21:46:40 +01:00
## DEVELOPER COMMANDS
<%= developer_commands.join("\n") %>
2018-10-02 14:44:38 +05:30
## GLOBAL OPTIONS
<%= global_options.join("\n") %>
2016-10-02 18:21:04 +01:00
## OFFICIAL EXTERNAL COMMANDS
2018-10-02 21:56:00 -04:00
<%= homebrew_bundle.join.strip %>
2016-10-02 18:21:04 +01:00
2018-10-02 21:56:00 -04:00
**Homebrew/homebrew-bundle**: <https://github.com/Homebrew/homebrew-bundle>
2018-03-15 16:25:14 +00:00
* `cask` [`--version` | `audit` | `cat` | `cleanup` | `create` | `doctor` | `edit` | `fetch` | `home` | `info`]:
Install macOS applications distributed as binaries.
2018-10-02 21:56:00 -04:00
**Homebrew/homebrew-cask**: <https://github.com/Homebrew/homebrew-cask>
2018-03-15 16:25:14 +00:00
2018-10-02 21:56:00 -04:00
<%= homebrew_services.join.strip %>
2018-03-15 16:25:14 +00:00
2018-10-02 21:56:00 -04:00
**Homebrew/homebrew-services**: <https://github.com/Homebrew/homebrew-services>
2016-10-02 18:21:04 +01:00
## CUSTOM EXTERNAL COMMANDS
2016-04-08 16:28:35 +02:00
Homebrew, like `git`(1), supports external commands. These are executable
scripts that reside somewhere in the `PATH`, named `brew-`<cmdname> or
`brew-`<cmdname>`.rb`, which can be invoked like `brew` <cmdname>. This allows you
to create your own commands without modifying Homebrew's internals.
Instructions for creating your own commands can be found in the docs:
2018-02-22 19:46:58 +00:00
<https://docs.brew.sh/External-Commands>
2016-04-08 16:28:35 +02:00
## SPECIFYING FORMULAE
Many Homebrew commands accept one or more <formula> arguments. These arguments
can take several different forms:
* The name of a formula:
e.g. `git`, `node`, `wget`.
* The fully-qualified name of a tapped formula:
2016-05-01 15:00:09 +02:00
Sometimes a formula from a tapped repository may conflict with one in
`homebrew/core`.
2016-04-08 16:28:35 +02:00
You can still access these formulae by using a special syntax, e.g.
`homebrew/dupes/vim` or `homebrew/versions/node4`.
* An arbitrary URL:
Homebrew can install formulae via URL, e.g.
`https://raw.github.com/Homebrew/homebrew-core/master/Formula/git.rb`.
The formula file will be cached for later use.
## ENVIRONMENT
2018-04-07 10:10:24 +01:00
Note that environment variables must have a value set to be detected. For example, `export HOMEBREW_NO_INSECURE_REDIRECT=1` rather than just `export HOMEBREW_NO_INSECURE_REDIRECT`.
2017-05-13 11:42:01 +01:00
* `HOMEBREW_ARTIFACT_DOMAIN`:
2018-08-14 00:56:26 -04:00
If set, instructs Homebrew to prefix all download URLs, including those
for bottles, with this variable. For example, a formula with a URL of
`https://example.com/foo.tar.gz` but `HOMEBREW_ARTIFACT_DOMAIN=http://localhost:8080`
would instead download from `http://localhost:8080/example.com/foo.tar.gz`.
2017-05-13 11:42:01 +01:00
* `HOMEBREW_AUTO_UPDATE_SECS`:
If set, Homebrew will only check for autoupdates once per this seconds interval.
*Default:* `60`.
2016-04-08 16:28:35 +02:00
2017-05-13 11:42:01 +01:00
* `HOMEBREW_AWS_ACCESS_KEY_ID`, `HOMEBREW_AWS_SECRET_ACCESS_KEY`:
2016-04-08 16:28:35 +02:00
When using the `S3` download strategy, Homebrew will look in
these variables for access credentials (see
<https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html#cli-environment>
2018-08-03 11:55:37 +02:00
to retrieve these access credentials from AWS). If they are not set,
2016-04-08 16:28:35 +02:00
the `S3` download strategy will download with a public
(unsigned) URL.
* `HOMEBREW_BOTTLE_DOMAIN`:
2018-08-14 00:56:26 -04:00
By default, Homebrew uses `https://homebrew.bintray.com/` as its download
mirror for bottles. If set, instructs Homebrew to instead use the given
URL. For example, `HOMEBREW_BOTTLE_DOMAIN=http://localhost:8080` will
cause all bottles to download from the prefix `http://localhost:8080/`.
2016-04-08 16:28:35 +02:00
* `HOMEBREW_BROWSER`:
If set, uses this setting as the browser when opening project homepages,
instead of the OS default browser.
* `HOMEBREW_BUILD_FROM_SOURCE`:
If set, instructs Homebrew to compile from source even when a formula
provides a bottle. This environment variable is intended for use by
Homebrew developers. Please do not file issues if you encounter errors when
using this environment variable.
* `HOMEBREW_CACHE`:
If set, instructs Homebrew to use the given directory as the download cache.
2016-06-01 08:46:33 +01:00
*Default:* `~/Library/Caches/Homebrew`.
2016-04-08 16:28:35 +02:00
2018-04-08 15:51:58 -07:00
* `HOMEBREW_CURLRC`:
If set, Homebrew will not pass `-q` when invoking `curl`(1) (which disables
the use of `curlrc`).
2016-04-08 16:28:35 +02:00
* `HOMEBREW_CURL_VERBOSE`:
If set, Homebrew will pass `--verbose` when invoking `curl`(1).
* `HOMEBREW_DEBUG`:
If set, any commands that can emit debugging information will do so.
* `HOMEBREW_DEBUG_INSTALL`:
When `brew install -d` or `brew install -i` drops into a shell,
`HOMEBREW_DEBUG_INSTALL` will be set to the name of the formula being
brewed.
* `HOMEBREW_DEBUG_PREFIX`:
When `brew install -d` or `brew install -i` drops into a shell,
`HOMEBREW_DEBUG_PREFIX` will be set to the target prefix in the Cellar
of the formula being brewed.
* `HOMEBREW_DEVELOPER`:
2016-08-16 12:24:10 +01:00
If set, Homebrew will tweak behaviour to be more relevant for Homebrew
developers (active or budding) e.g. turning warnings into errors.
2016-04-08 16:28:35 +02:00
* `HOMEBREW_EDITOR`:
If set, Homebrew will use this editor when editing a single formula, or
several formulae in the same directory.
2016-04-12 12:17:56 +01:00
*Note:* `brew edit` will open all of Homebrew as discontinuous files and
2016-04-08 16:28:35 +02:00
directories. TextMate can handle this correctly in project mode, but many
editors will do strange things in this case.
2017-12-06 12:56:15 +00:00
* `HOMEBREW_FORCE_BREWED_CURL`:
If set, Homebrew will use a Homebrew-installed `curl` rather than the
system version.
2016-08-10 20:06:14 +01:00
* `HOMEBREW_FORCE_VENDOR_RUBY`:
2017-12-08 16:49:33 +00:00
If set, Homebrew will always use its vendored, relocatable Ruby version
even if the system version of Ruby is new enough.
2016-08-10 20:06:14 +01:00
2017-05-13 11:42:01 +01:00
* `HOMEBREW_GIT`:
When using Git, Homebrew will use `GIT` if set,
a Homebrew-built Git if installed, or the system-provided binary.
Set this to force Homebrew to use a particular git binary.
2018-06-25 23:36:12 -07:00
* `HOMEBREW_FORCE_BREWED_GIT`:
If set, Homebrew will use a Homebrew-installed `git` rather than the
system version.
2016-04-08 16:28:35 +02:00
* `HOMEBREW_GITHUB_API_TOKEN`:
A personal access token for the GitHub API, which you can create at
<https://github.com/settings/tokens>. If set, GitHub will allow you a
greater number of API requests. See
<https://developer.github.com/v3/#rate-limiting> for more information.
Homebrew uses the GitHub API for features such as `brew search`.
2016-04-12 12:17:56 +01:00
*Note:* Homebrew doesn't require permissions for any of the scopes.
2016-04-08 16:28:35 +02:00
2018-02-28 11:36:23 +00:00
* `HOMEBREW_INSTALL_BADGE`:
Text printed before the installation summary of each successful build.
Defaults to the beer emoji.
2016-04-08 16:28:35 +02:00
* `HOMEBREW_LOGS`:
If set, Homebrew will use the given directory to store log files.
* `HOMEBREW_MAKE_JOBS`:
If set, instructs Homebrew to use the value of `HOMEBREW_MAKE_JOBS` as
the number of parallel jobs to run when building with `make`(1).
*Default:* the number of available CPU cores.
2016-04-12 12:17:56 +01:00
* `HOMEBREW_NO_ANALYTICS`:
2018-02-22 19:46:58 +00:00
If set, Homebrew will not send analytics. See: <https://docs.brew.sh/Analytics>
2016-04-12 12:17:56 +01:00
2016-08-10 15:46:31 +01:00
* `HOMEBREW_NO_AUTO_UPDATE`:
2016-08-27 15:57:09 +01:00
If set, Homebrew will not auto-update before running `brew install`,
`brew upgrade` or `brew tap`.
2016-08-10 15:46:31 +01:00
2018-02-12 11:06:55 -06:00
* `HOMEBREW_NO_COLOR`:
If set, Homebrew will not print text with color added.
2016-04-08 16:28:35 +02:00
* `HOMEBREW_NO_EMOJI`:
If set, Homebrew will not print the `HOMEBREW_INSTALL_BADGE` on a
successful build.
*Note:* Homebrew will only try to print emoji on Lion or newer.
* `HOMEBREW_NO_INSECURE_REDIRECT`:
If set, Homebrew will not permit redirects from secure HTTPS
to insecure HTTP.
While ensuring your downloads are fully secure, this is likely
2017-02-25 17:37:57 -05:00
to cause from-source SourceForge, some GNU & GNOME based
2016-06-22 19:56:10 +02:00
formulae to fail to download.
2016-04-08 16:28:35 +02:00
* `HOMEBREW_NO_GITHUB_API`:
If set, Homebrew will not use the GitHub API for e.g searches or
fetching relevant issues on a failed install.
2018-02-28 11:36:23 +00:00
* `HOMEBREW_PRY`:
If set, Homebrew will use `pry` for the `brew irb` command.
2016-04-08 16:28:35 +02:00
* `HOMEBREW_SVN`:
When exporting from Subversion, Homebrew will use `HOMEBREW_SVN` if set,
a Homebrew-built Subversion if installed, or the system-provided binary.
Set this to force Homebrew to use a particular `svn` binary.
* `HOMEBREW_TEMP`:
If set, instructs Homebrew to use `HOMEBREW_TEMP` as the temporary directory
for building packages. This may be needed if your system temp directory and
2016-09-18 19:57:19 +01:00
Homebrew Prefix are on different volumes, as macOS has trouble moving
2016-04-08 16:28:35 +02:00
symlinks across volumes when the target does not yet exist.
This issue typically occurs when using FileVault or custom SSD
configurations.
2018-03-12 11:05:06 +00:00
* `HOMEBREW_UPGRADE_CLEANUP`:
If set, `brew upgrade` always assumes `--cleanup` has been passed.
2016-04-08 16:28:35 +02:00
* `HOMEBREW_VERBOSE`:
If set, Homebrew always assumes `--verbose` when running commands.
2017-11-30 14:05:06 +00:00
* `http_proxy`:
Sets the HTTP proxy to be used by `curl`, `git` and `svn` when downloading
through Homebrew.
* `https_proxy`:
Sets the HTTPS proxy to be used by `curl`, `git` and `svn` when downloading
through Homebrew.
2016-04-08 16:28:35 +02:00
2018-02-01 18:11:29 +08:00
* `all_proxy`:
Sets the SOCKS5 proxy to be used by `curl`, `git` and `svn` when downloading
through Homebrew.
2017-11-30 14:05:06 +00:00
* `ftp_proxy`:
Sets the FTP proxy to be used by `curl`, `git` and `svn` when downloading
through Homebrew.
2016-04-08 16:28:35 +02:00
2017-12-19 10:59:04 +02:00
* `no_proxy`:
Sets the comma-separated list of hostnames and domain names that should be excluded from proxying
by `curl`, `git` and `svn` when downloading through Homebrew.
2017-11-30 14:05:06 +00:00
## USING HOMEBREW BEHIND A PROXY
2018-02-01 18:11:29 +08:00
Use the `http_proxy`, `https_proxy`, `all_proxy`, `no_proxy` and/or `ftp_proxy` documented above.
2017-12-19 10:59:04 +02:00
2018-10-06 00:31:10 -04:00
For example, for an unauthenticated HTTP or SOCKS5 proxy:
2016-04-08 16:28:35 +02:00
2018-10-06 00:31:10 -04:00
export http_proxy=http://$HOST:$PORT
2016-04-08 16:28:35 +02:00
2018-10-06 00:31:10 -04:00
export all_proxy=socks5://$HOST:$PORT
2018-02-01 18:11:29 +08:00
2017-11-30 14:05:06 +00:00
And for an authenticated HTTP proxy:
2016-04-08 16:28:35 +02:00
2018-10-06 00:31:10 -04:00
export http_proxy=http://$USER:$PASSWORD@$HOST:$PORT
2016-04-08 16:28:35 +02:00
## SEE ALSO
2017-07-27 15:59:37 +01:00
Homebrew Documentation: <https://docs.brew.sh>
2016-04-08 16:28:35 +02:00
2016-10-02 18:21:04 +01:00
`brew-cask`(1), `git`(1), `git-log`(1)
2016-04-08 16:28:35 +02:00
## AUTHORS
2016-09-20 11:50:02 +02:00
<%= lead_maintainer.concat("\n") %>
2016-09-20 09:31:06 +01:00
2018-08-02 13:26:02 +01:00
<%= leadership.concat("\n") %>
2018-01-18 15:45:51 +00:00
<%= brew_maintainers.concat("\n") %>
2018-08-07 10:51:16 +01:00
<%= linux_maintainers.concat("\n") %>
2018-01-18 15:45:51 +00:00
<%= core_maintainers.concat("\n") %>
2016-04-08 16:28:35 +02:00
2016-09-20 11:50:02 +02:00
<%= former_maintainers.concat("\n") %>
2016-04-08 16:28:35 +02:00
## BUGS
See our issues on GitHub:
2018-10-02 21:56:00 -04:00
* **Homebrew/brew**:
<https://github.com/Homebrew/brew/issues>
2016-04-08 16:28:35 +02:00
2018-10-02 21:56:00 -04:00
* **Homebrew/homebrew-core**:
<https://github.com/Homebrew/homebrew-core/issues>