| 
									
										
										
										
											2017-01-04 10:53:21 +00:00
										 |  |  | # Taps (third-party repositories)
 | 
					
						
							| 
									
										
										
										
											2017-01-04 16:16:00 -06:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-03-18 17:45:12 -04:00
										 |  |  | `brew tap` adds more repositories to the list of formulae that `brew` tracks, updates, | 
					
						
							|  |  |  | and installs from. By default, `tap` assumes that the repositories come from GitHub, | 
					
						
							| 
									
										
										
										
											2015-12-06 22:18:16 +00:00
										 |  |  | but the command isn't limited to any one location. | 
					
						
							| 
									
										
										
										
											2014-10-26 14:54:36 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-01-04 10:53:21 +00:00
										 |  |  | ## The command (`brew tap`)
 | 
					
						
							| 
									
										
										
										
											2014-10-26 14:54:36 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-14 14:34:31 +01:00
										 |  |  | * `brew tap` without arguments lists the currently tapped repositories. For | 
					
						
							|  |  |  |   example: | 
					
						
							| 
									
										
										
										
											2014-10-26 14:54:36 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-03-25 22:53:33 -04:00
										 |  |  | ```sh | 
					
						
							| 
									
										
										
										
											2014-10-26 14:54:36 +00:00
										 |  |  | $ brew tap | 
					
						
							| 
									
										
										
										
											2017-07-25 16:22:19 +01:00
										 |  |  | homebrew/core | 
					
						
							| 
									
										
										
										
											2015-06-14 14:34:31 +01:00
										 |  |  | mistydemeo/tigerbrew | 
					
						
							| 
									
										
										
										
											2017-07-31 19:31:54 -07:00
										 |  |  | dunn/emacs | 
					
						
							| 
									
										
										
										
											2014-10-26 14:54:36 +00:00
										 |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-14 14:34:31 +01:00
										 |  |  | * `brew tap <user/repo>` makes a shallow clone of the repository at | 
					
						
							|  |  |  |   https://github.com/user/repo. After that, `brew` will be able to work on | 
					
						
							| 
									
										
										
										
											2017-03-18 17:45:12 -04:00
										 |  |  |   those formulae as if they were in Homebrew's canonical repository. You can | 
					
						
							| 
									
										
										
										
											2015-06-14 14:34:31 +01:00
										 |  |  |   install and uninstall them with `brew [un]install`, and the formulae are | 
					
						
							|  |  |  |   automatically updated when you run `brew update`. (See below for details | 
					
						
							|  |  |  |   about how `brew tap` handles the names of repositories.) | 
					
						
							| 
									
										
										
										
											2014-10-26 14:54:36 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-14 14:34:31 +01:00
										 |  |  | * `brew tap <user/repo> <URL>` makes a shallow clone of the repository at URL. | 
					
						
							|  |  |  |   Unlike the one-argument version, URL is not assumed to be GitHub, and it | 
					
						
							| 
									
										
										
										
											2017-03-18 17:45:12 -04:00
										 |  |  |   doesn't have to be HTTP. Any location and any protocol that Git can handle is | 
					
						
							| 
									
										
										
										
											2015-06-14 14:34:31 +01:00
										 |  |  |   fine. | 
					
						
							| 
									
										
										
										
											2014-10-26 14:54:36 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-03-18 17:45:12 -04:00
										 |  |  | * Add `--full` to either the one- or two-argument invocations above, and Git | 
					
						
							| 
									
										
										
										
											2016-09-14 17:21:53 +01:00
										 |  |  |   will make a complete clone rather than a shallow one. Full is the default for | 
					
						
							|  |  |  |   Homebrew developers. | 
					
						
							| 
									
										
										
										
											2014-10-26 14:54:36 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-03-18 17:45:12 -04:00
										 |  |  | * `brew tap --repair` migrates tapped formulae from a symlink-based to | 
					
						
							| 
									
										
										
										
											2015-06-14 14:34:31 +01:00
										 |  |  |   directory-based structure. (This should only need to be run once.) | 
					
						
							| 
									
										
										
										
											2014-10-26 14:54:36 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-14 14:34:31 +01:00
										 |  |  | * `brew untap user/repo [user/repo user/repo ...]` removes the given taps. The | 
					
						
							| 
									
										
										
										
											2017-03-18 17:45:12 -04:00
										 |  |  |   repositories are deleted and `brew` will no longer be aware of their formulae. | 
					
						
							|  |  |  |   `brew untap` can handle multiple removals at once. | 
					
						
							| 
									
										
										
										
											2014-10-26 14:54:36 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-14 14:34:31 +01:00
										 |  |  | ## Repository naming conventions and assumptions
 | 
					
						
							| 
									
										
										
										
											2014-10-26 14:54:36 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-14 14:34:31 +01:00
										 |  |  | * On GitHub, your repository must be named `homebrew-something` in order to use | 
					
						
							|  |  |  |   the one-argument form of `brew tap`.  The prefix 'homebrew-' is not optional. | 
					
						
							|  |  |  |   (The two-argument form doesn't have this limitation, but it forces you to | 
					
						
							|  |  |  |   give the full URL explicitly.) | 
					
						
							| 
									
										
										
										
											2014-10-26 14:54:36 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-14 14:34:31 +01:00
										 |  |  | * When you use `brew tap` on the command line, however, you can leave out the | 
					
						
							|  |  |  |   'homebrew-' prefix in commands. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   That is, `brew tap username/foobar` can be used as a shortcut for the long | 
					
						
							|  |  |  |   version: `brew tap username/homebrew-foobar`. `brew` will automatically add | 
					
						
							|  |  |  |   back the 'homebrew-' prefix whenever it's necessary. | 
					
						
							| 
									
										
										
										
											2014-10-26 14:54:36 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | ## Formula duplicate names
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-03-25 22:53:33 -04:00
										 |  |  | If your tap contains a formula that is also present in | 
					
						
							|  |  |  | [`homebrew/core`](https://github.com/Homebrew/homebrew-core), that's fine, | 
					
						
							| 
									
										
										
										
											2015-07-27 18:51:53 +08:00
										 |  |  | but it means that you must install it explicitly by default. | 
					
						
							| 
									
										
										
										
											2015-06-14 14:34:31 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-09-06 15:07:00 +01:00
										 |  |  | If you would like to prioritise a tap over `homebrew/core`, you can use | 
					
						
							| 
									
										
										
										
											2015-07-27 18:51:53 +08:00
										 |  |  | `brew tap-pin username/repo` to pin the tap, | 
					
						
							|  |  |  | and use `brew tap-unpin username/repo` to revert the pin. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-03-25 22:53:33 -04:00
										 |  |  | Whenever a `brew install foo` command is issued, `brew` will find which formula | 
					
						
							| 
									
										
										
										
											2015-07-27 18:51:53 +08:00
										 |  |  | to use by searching in the following order: | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-03-18 17:45:12 -04:00
										 |  |  | * pinned taps | 
					
						
							|  |  |  | * core formulae | 
					
						
							|  |  |  | * other taps | 
					
						
							| 
									
										
										
										
											2015-07-27 18:51:53 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | If you need a formula to be installed from a particular tap, you can use fully | 
					
						
							|  |  |  | qualified names to refer to them. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | For example, you can create a tap for an alternative `vim` formula. Without | 
					
						
							| 
									
										
										
										
											2017-02-23 12:20:07 -05:00
										 |  |  | pinning it, the behaviour will be | 
					
						
							| 
									
										
										
										
											2014-10-26 14:54:36 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-03-25 22:53:33 -04:00
										 |  |  | ```sh | 
					
						
							| 
									
										
										
										
											2016-04-02 20:22:58 +08:00
										 |  |  | brew install vim                     # installs from homebrew/core | 
					
						
							| 
									
										
										
										
											2015-07-27 18:51:53 +08:00
										 |  |  | brew install username/repo/vim       # installs from your custom repo | 
					
						
							| 
									
										
										
										
											2014-10-26 14:54:36 +00:00
										 |  |  | ``` | 
					
						
							| 
									
										
										
										
											2015-07-27 18:51:53 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | However if you pin the tap with `brew tap-pin username/repo`, you will need to | 
					
						
							| 
									
										
										
										
											2016-04-02 20:22:58 +08:00
										 |  |  | use `homebrew/core` to refer to the core formula. | 
					
						
							| 
									
										
										
										
											2015-07-27 18:51:53 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-03-25 22:53:33 -04:00
										 |  |  | ```sh | 
					
						
							| 
									
										
										
										
											2015-07-27 18:51:53 +08:00
										 |  |  | brew install vim                     # installs from your custom repo | 
					
						
							| 
									
										
										
										
											2016-04-02 20:22:58 +08:00
										 |  |  | brew install homebrew/core/vim       # installs from homebrew/core | 
					
						
							| 
									
										
										
										
											2015-07-27 18:51:53 +08:00
										 |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Do note that pinned taps are prioritized only when the formula name is directly | 
					
						
							| 
									
										
										
										
											2017-03-18 17:45:12 -04:00
										 |  |  | given by you, i.e. it will not influence formulae automatically installed as | 
					
						
							| 
									
										
										
										
											2015-12-06 22:18:16 +00:00
										 |  |  | dependencies. |