brew-tap
Add external formula repositories
TLDR
List installed Homebrew taps
Tap a Git repository hosted on GitHub
Tap a Git repository hosted outside of GitHub
Tap a repository hosted on GitLab
Display help
SYNOPSIS
brew tap [options] [
brew untap [
PARAMETERS
(no arguments)
Lists all currently tapped repositories.
Taps the specified repository, usually from GitHub (e.g., `Homebrew/homebrew-cask`). The full URL is inferred.
Taps the specified repository from a custom Git URL. Useful for non-GitHub or private repositories.
--full
Taps a full repository. For some core taps (like `homebrew/cask-fonts`), this ensures the entire history is cloned.
--repair
Re-initializes all tapped repositories, fixing potential issues like corrupted Git repositories or incorrect remote URLs.
--custom-remote
When tapping, allows specifying a custom Git remote URL instead of the inferred one. Similar to `
--force-auto-update
Ensures the tap is configured for automatic updates (this is generally the default behavior for taps).
--no-force-auto-update
Disables automatic updates for the specified tap.
--eval-all
Evaluates all formulae in all taps. Primarily used for development or debugging purposes to check syntax.
untap
Removes (untaps) the specified repository, making its formulae unavailable for installation unless re-tapped.
DESCRIPTION
Homebrew "taps" are Git repositories containing formulae (package definitions) that are not part of Homebrew's core repository. The `brew tap` command allows users to add, remove, list, and modify these external repositories.
By tapping a repository, users can install software packages defined within that tap using `brew install`, just as they would with core formulae. This mechanism provides a way for developers and communities to distribute software packages through Homebrew without needing to merge them into the main `Homebrew/homebrew-core` repository.
It significantly extends Homebrew's capabilities, allowing for a vast ecosystem of third-party software to be easily managed. Taps are typically named in the format `user/repo`, corresponding to a GitHub repository `github.com/user/homebrew-repo`. The `brew tap` command is crucial for accessing a wider range of software and for managing custom or less common formulae. It also allows for creating private taps for internal projects, making it a flexible tool for various development needs.
CAVEATS
Tapping too many repositories can potentially slow down `brew update` operations due to the increased number of Git repositories Homebrew needs to check.
Untapping a repository does not automatically uninstall packages that were installed from its formulae; it only removes the tap's formulae from Homebrew's search path.
Since taps are Git repositories, any underlying Git issues or network problems can interfere with tapping or updating operations.
TAP NAMING CONVENTION
Homebrew taps usually follow a `user/repo` format, typically referring to a GitHub repository named `homebrew-repo` within the `user` account. For instance, `homebrew/cask` refers to `github.com/Homebrew/homebrew-cask`. This convention helps Homebrew infer the correct Git URL and provides a standardized way to organize external formulae.
HOW TAPS WORK
When you tap a repository, Homebrew clones the Git repository into a specific directory, typically `$(brew --repository)/Library/Taps/user/homebrew-repo`. Formulae (or casks) defined within this cloned repository are then indexed by Homebrew, making them available for installation via `brew install` just like core formulae. This integration makes tapped software feel like native Homebrew packages.
HISTORY
The tapping mechanism has been a fundamental part of Homebrew since its early days, designed to extend the package manager's reach beyond its core formulae. As Homebrew grew, the need for third-party formula distribution became apparent, and taps provided a decentralized and robust solution. Initially, taps were primarily GitHub-based, leveraging Git for easy updates and management. Over time, features like custom URLs, the ability to tap full repositories, and repair options were added to enhance flexibility and stability, making `brew tap` a mature and indispensable tool for the Homebrew ecosystem's continued expansion.


