brew/Library/Homebrew/manpages/brew.1.md.erb
2022-01-21 12:05:18 -05:00

196 lines
5.8 KiB
Plaintext

<%
# To make changes to this man page:
#
# - For changes to a command under `COMMANDS` or `DEVELOPER COMMANDS` sections):
# - Find the source file in `Library/Homebrew/[dev-]cmd/<command>.{rb,sh}`.
# - For `.rb` files, edit the `<command>_args` method.
# - For `.sh` files, edit the top comment, being sure to use the line prefix
# `#:` for the comments to be recognized as documentation. If in doubt,
# compare with already documented commands.
# - For global options: Edit `Library/Homebrew/cli/parser.rb`.
# - For environment variables: Edit `Library/Homebrew/env_config.rb`.
# - For other changes: Edit this file.
#
# When done, regenerate the man page and its HTML version by running
# `brew generate-man-completions`.
%>
brew(1) -- The Missing Package Manager for macOS (or Linux)
===========================================================
## 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
didn't include with macOS. It can also install software not packaged for your
Linux distribution to your home directory without requiring `sudo`.
## TERMINOLOGY
**formula**: Homebrew package definition built from upstream sources
**cask**: Homebrew package definition that installs macOS native applications
**keg**: installation destination directory of a given **formula** version e.g. `/usr/local/Cellar/foo/0.1`
**rack**: directory containing one or more versioned kegs e.g. `/usr/local/Cellar/foo`
**keg-only**: a **formula** is **keg-only** if it is not symlinked into Homebrew's prefix (e.g. `/usr/local`)
**cellar**: directory containing one or more named **racks** e.g. `/usr/local/Cellar`
**Caskroom**: directory containing one or more named **casks** e.g. `/usr/local/Caskroom`
**external command**: `brew` subcommand defined outside of the Homebrew/brew GitHub repository
**tap**: directory (and usually Git repository) of **formulae**, **casks** and/or **external commands**
**bottle**: pre-built **keg** poured into the **cellar**/**rack** instead of building from upstream sources
## ESSENTIAL COMMANDS
For the full command list, see the [COMMANDS](#commands) 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 the [ENVIRONMENT](#environment) section.
### `install` <formula>
Install <formula>.
<formula> is usually the name of the formula to install, but it has other
syntaxes which are listed in the [SPECIFYING FORMULAE](#specifying-formulae)
section.
### `uninstall` <formula>
Uninstall <formula>.
### `list`
List all installed formulae.
### `search` [<text>|`/`<text>`/`]
Perform a substring search of cask tokens and formula names for <text>. If
<text> is flanked by slashes, it is interpreted as a regular expression.
The search for <text> is extended online to `homebrew/core` and `homebrew/cask`.
If no search term is provided, all locally available formulae are listed.
## COMMANDS
<%= commands %>
## DEVELOPER COMMANDS
<%= developer_commands %>
## GLOBAL CASK OPTIONS
<%= global_cask_options %>
## GLOBAL OPTIONS
<%= global_options %>
## OFFICIAL EXTERNAL COMMANDS
<%= official_external_commands %>
## CUSTOM EXTERNAL COMMANDS
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:
<https://docs.brew.sh/External-Commands>
## 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:
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 file:
Homebrew can install formulae from a local path. It can point to either a
formula file or a bottle.
Prefix relative paths with `./` to prevent them from being interpreted as a
formula or tap name.
## SPECIFYING CASKS
Many Homebrew Cask commands accept one or more <cask> arguments. These can be
specified the same way as the <formula> arguments described in
`SPECIFYING FORMULAE` above.
## ENVIRONMENT
Note that environment variables must have a value set to be detected. For
example, run `export HOMEBREW_NO_INSECURE_REDIRECT=1` rather than just
`export HOMEBREW_NO_INSECURE_REDIRECT`.
<%= environment_variables %>
## USING HOMEBREW BEHIND A PROXY
Set the `http_proxy`, `https_proxy`, `all_proxy`, `ftp_proxy` and/or `no_proxy`
environment variables documented above.
For example, to use an unauthenticated HTTP or SOCKS5 proxy:
export http_proxy=http://$HOST:$PORT
export all_proxy=socks5://$HOST:$PORT
And for an authenticated HTTP proxy:
export http_proxy=http://$USER:$PASSWORD@$HOST:$PORT
## SEE ALSO
Homebrew Documentation: <https://docs.brew.sh>
Homebrew API: <https://rubydoc.brew.sh>
`git`(1), `git-log`(1)
## AUTHORS
<%= lead.concat("\n") %>
<%= plc.concat("\n") %>
<%= tsc.concat("\n") %>
<%= maintainers.concat("\n") %>
<%= alumni.concat("\n") %>
## BUGS
See our issues on GitHub:
* **Homebrew/brew**:
<br><https://github.com/Homebrew/brew/issues>
* **Homebrew/homebrew-core**:
<br><https://github.com/Homebrew/homebrew-core/issues>
* **Homebrew/homebrew-cask**:
<br><https://github.com/Homebrew/homebrew-cask/issues>