Homebrew
是使用ruby
开发的Mac
的软件包管理器.
这里就说明一下有关Taps(third-party-repositories)
的知识
brew tap
可以为brew
的软件的 跟踪,更新,安装添加更多的的tap formulae
如果你在核心仓库没有找到你需要的软件,那么你就需要安装第三方的仓库去安装你需要的软件
tap
命令的仓库源默认来至于Github
,但是这个命令也不限制于这一个地方
brew tap 命令
-
brew tap
没有参数会自动更新已经存在的tap
并列出当前已经tapped
的仓库
-
brew tap <user>/<repo>
在本地对这个https://github.com/user/repo
仓库上做了一个浅度的克隆,完成之后brew
就可以在这个仓库包含的formulae
上工作,好比就在Homebrew
规范的仓库,你可使用brew install
或者brew uninstall
安装或者卸载这个仓库上的软件。当你执行brew update
这个命令时,tap
和formulae
就会自定更新
-
brew tap <user>/<repo> URL
在本地对这个URL
仓库上做了一个浅度的克隆,和上面一个参数命令是不一样的,URL
没有默认关联到Github
,这个URL
没有要求必须是HTTP
协议,任何位置和任何协议而且Git也是能很好的处理的 -
brew untap <user>/<repo> [<user>/<repo> <user>/<repo> ...]
移除已经安装的tap
.这个仓库被删除,brew
就不在可用在这个仓库的formulae
.可以同时删除几个仓库
仓库命名的规范
- 在
Github
上,你的仓库名称必须是homebrew-something
,为了使用一个参数的brew tap
命令,homebrew-
这个前缀不是可选的,是必须的。
对于两个参数的brew tap
命令没有这个限制,但是必须给出明确的全部的URL
地址 - 当你在命令行使用
brew tap
时,你可以省略homebrew-
这个前缀的
也就是说:brew tap username/foobar
是作为长版本brew tap username/homebrew-foobar
使用的一个简写.
brew
可以自己添加homebrew-
前缀的在需要的时候
重复名称安装包的处理
如果你想安装的一个安装包在你tap
的一个仓库上,但是同时还出现在了homebrew/core
上,这就意味着你必须明确指出tap
的名称去安装它,否则就会默认安装homebrew/core
上的包.
如果你想要是你安装的tap
的优先顺序高于homebrew/core
这个默认的仓库,你可以使用brew tap-pin username/repo
去pin这个仓库.你可以使用brew-tap-unpin username/repo
恢复这个pin
当你使用brew install foo
这个命令时,brew
将按照下面的顺序去查找哪个formula(tap)
将被使用:
- pinned taps
- core formulae
- other taps
举个例子:
你想安装vim
安装包,而且没有pinned
某个仓库:
brew install vim # installs from homebrew/core
brew install username/repo/vim # installs from your custom repo
你想安装vim
安装包,而且有pinned
的仓库:
brew install vim # installs from your custom repo
brew install homebrew/core/vim # installs from homebrew/core
可以关注的Taps
-
homebrew/php
:和php
关联的formulae
-
denji/nginx
:nginx modules
的tap
-
InstantClientTap/instantclient
:Oracle
客户端实例的tap
-
petere/postgresql
: 允许同时安装多个PostgreSQL
版本的tap
-
dunn/emacs
:Emacs package
的tap
-
sidaf/pentest
: 渗透测试工具的tap
-
osrf/simulation
: 机器仿真的tap
扫描关注,查看更多文章,提高编程能力
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。