参考文档:MAC homebrew的tap功能详解
1. brew 简介
1.1 术语介绍
Homebrew 的两个术语:
- Formulae:软件包,包括了这个软件的依赖、源码位置及编译方法等;
- Casks:已经编译好的应用包,如图形界面程序等。
1.2 文件夹
/usr: 目录下面的基本都是系统自带第三方和用户安装的第三方软件 的安装目录
/usr/local: 用户自己安装的一些第三方软件所在位置
Homebrw 相关的几个文件夹用途(/usr/local/):
- bin:用于存放所安装程序的启动链接(相当于快捷方式)
- etc:brew安装程序的配置文件默认存放路径
- Library:Homebrew 系统自身文件夹
- Cellar:通过brew安装的程序将以 [程序名/版本号] 存放于本目录下
2. brew 控制服务
# 查看系统通过 brew 安装的服务
brew services list
# 清除已卸载无用的启动配置文件
brew services cleanup
# 启动服务
brew services start <formula>
# 关闭服务
brew services stop <formula>
# 重启服务
brew services restart <formula>
3. 安装卸载
通过brew安装的文件会自动设置环境变量,所以不用担心命令行不能启动的问题。
# 显示 brew 版本信息
brew --version/-v
# 安装指定软件
brew install <formula>
# 卸载指定软件
brew uninstall <formula>
# 显示所有已安装软件
brew list
# 搜索软件
brew search TEXT|/REGEX/
# 显示软件信息
brew info <formula>
# 安装应用包
brew cask install
brew install 是下载源码解压,然后 ./configure && make install ,同时会包含相关依存库,并自动配置好各种环境变量。
brew cask 是针对已经编译好了的应用包(.dmg/.pkg)下载解压,然后放在统一的目录中(Caskroom),省掉了自己下载、解压、安装等步骤。简单来说,
- brew install 用来安装一些不带界面的命令行工具和第三方库。
- brew cask install 用来安装一些带界面的应用软件。
4. 升级软件相关
# 自动升级homebrew(从github下载最新版本)
brew update
# 检测已有新版本的软件
brew outdated
# 升级所有软件
brew upgrade
# 升级指定的软件
brew upgrade <formula>
# 禁止指定软件升级
brew pin <formula>
# 解锁禁止升级
brew unpin <formula>
# 升级所有的软件包,包括未清理干净的旧版本的包
brew upgrade --all
5. 清理相关
# 列出需要清理的内容
brew cleanup -n
# 清理指定的软件过时包
brew cleanup <formula>
# 清理所有的过时软件
brew cleanup
# 卸载指定软件
brew unistall <formula>
# 彻底卸载指定软件,包括旧版本
brew unistall <fromula> --force
6. tap 功能介绍
- brew tap 可以跟踪第三方仓库,安装更多的 formulae
- tap 命令的仓库源默认来至于 Github,但是这个命令也不限制于这一个地方
# 列出已有仓库,并自动更新已有 tap
brew tap
# 跟踪仓库,比如 brew tap mongodb/brew , 则会在本地对这个 https://github.com/mongodb/brew 仓库上做了一个浅度的克隆,可以使用 brew install 安装仓库下的软件包
brew tap <user>/<repo>
# 或者可以直接
brew install mongodb/brew/mongodb-community
# 取消仓库跟踪
brew untap <user>/<repo>