<% # 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/.{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`. %> brew(1) -- The missing package manager for macOS =============================================== ## SYNOPSIS `brew` `--version`
`brew` [`--verbose`|`-v`] [] [] ... ## DESCRIPTION Homebrew is the easiest and most flexible way to install the UNIX tools Apple didn't include with macOS. ## ESSENTIAL COMMANDS For the full command list, see the [COMMANDS][] section. With `--verbose` or `-v`, many commands print extra debugging information. Note that these flags should only appear after a command. * `install` : Install . * `remove` : Uninstall . * `update`: Fetch the newest version of Homebrew from GitHub using `git`(1). * `list`: List all installed formulae. * `search` |`/``/`: Perform a substring search of formula names for . If is surrounded with slashes, then it is interpreted as a regular expression. The search for is extended online to some popular taps. If no search term is given, all locally available formulae are listed. ## COMMANDS <%= commands.join("\n") %> ## DEVELOPER COMMANDS <%= developer_commands.join("\n") %> ## OFFICIAL EXTERNAL COMMANDS * `bundle`: Bundler for non-Ruby dependencies from Homebrew: * `cask`: Install macOS applications distributed as binaries: * `services`: Integrates Homebrew formulae with macOS's `launchctl` manager: ## CUSTOM EXTERNAL COMMANDS Homebrew, like `git`(1), supports external commands. These are executable scripts that reside somewhere in the `PATH`, named `brew-` or `brew-``.rb`, which can be invoked like `brew` . 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: ## SPECIFYING FORMULAE Many Homebrew commands accept one or more 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: Sometimes a formula from a tapped repository may conflict with one in `homebrew/core`. 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 * `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`: When using the `S3` download strategy, Homebrew will look in these variables for access credentials (see to retrieve these access credentials from AWS). If they are not set, the `S3` download strategy will download with a public (unsigned) URL. * `BROWSER`: If set, and `HOMEBREW_BROWSER` is not, use `BROWSER` as the web browser when opening project homepages. * `EDITOR`: If set, and `HOMEBREW_EDITOR` and `VISUAL` are not, use `EDITOR` as the text editor. * `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. * `HOMEBREW_BOTTLE_DOMAIN`: If set, instructs Homebrew to use the given URL as a download mirror for bottles. * `HOMEBREW_ARTIFACT_DOMAIN`: If set, instructs Homebrew to use the given URL as a download mirror for bottles and binaries. * `HOMEBREW_AUTO_UPDATE_SECS`: If set, Homebrew will only check for autoupdates once per this seconds interval. *Default:* `60`. * `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. *Default:* `~/Library/Caches/Homebrew`. * `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`: If set, Homebrew will tweak behaviour to be more relevant for Homebrew developers (active or budding) e.g. turning warnings into errors. * `HOMEBREW_EDITOR`: If set, Homebrew will use this editor when editing a single formula, or several formulae in the same directory. *Note:* `brew edit` will open all of Homebrew as discontinuous files and directories. TextMate can handle this correctly in project mode, but many editors will do strange things in this case. * `HOMEBREW_FORCE_VENDOR_RUBY`: If set, Homebrew will always use its vendored, relocatable Ruby 2.0 version even if the system version of Ruby is >=2.0. * `HOMEBREW_GITHUB_API_TOKEN`: A personal access token for the GitHub API, which you can create at . If set, GitHub will allow you a greater number of API requests. See for more information. Homebrew uses the GitHub API for features such as `brew search`. *Note:* Homebrew doesn't require permissions for any of the scopes. * `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. * `HOMEBREW_NO_ANALYTICS`: If set, Homebrew will not send analytics. See: * `HOMEBREW_NO_AUTO_UPDATE`: If set, Homebrew will not auto-update before running `brew install`, `brew upgrade` or `brew tap`. * `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 to cause from-source Sourceforge, some GNU & GNOME based formulae to fail to download. * `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. * `HOMEBREW_INSTALL_BADGE`: Text printed before the installation summary of each successful build. Defaults to the beer emoji. * `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 Homebrew Prefix are on different volumes, as macOS has trouble moving symlinks across volumes when the target does not yet exist. This issue typically occurs when using FileVault or custom SSD configurations. * `HOMEBREW_VERBOSE`: If set, Homebrew always assumes `--verbose` when running commands. * `VISUAL`: If set, and `HOMEBREW_EDITOR` is not, use `VISUAL` as the text editor. ## USING HOMEBREW BEHIND A PROXY Homebrew uses several commands for downloading files (e.g. `curl`, `git`, `svn`). Many of these tools can download via a proxy. It's common for these tools to read proxy parameters from environment variables. For the majority of cases setting `http_proxy` is enough. You can set this in your shell profile, or you can use it before a brew command: http_proxy=http://: brew install foo If your proxy requires authentication: http_proxy=http://:@: brew install foo ## SEE ALSO Homebrew Documentation: `brew-cask`(1), `git`(1), `git-log`(1) ## AUTHORS <%= lead_maintainer.concat("\n") %> <%= maintainers.concat("\n") %> <%= former_maintainers.concat("\n") %> ## BUGS See our issues on GitHub: * Homebrew/brew * Homebrew/homebrew-core