老早就在使用homebrew,直到最近才注意到还有HomeBrew Cask这个香饽饽,实在惭愧。
网上有大佬们写出了很完备的文章,我这里按照自己的微薄理解进行了转载,略微拼接。以下文章出自:
russwest77:https://blog.csdn.net/weixin_41518486/article/details/106061486
一. HomeBrew
虽然macOS上的命令行界面具有很多在Linux和其他Unix系统中可以找到的功能,但它没有附带一个好的包管理器。 包管理器是一组软件工具,可用于自动执行软件安装,配置和升级。 他们将安装的软件保存在一个中心位置,并且可以使用常用的格式维护系统上的所有软件包。 Homebrew是一个免费的开源软件包管理系统,可以简化macOS上的软件安装可以类比于 Windows 上软件管家的一键安装。Homebrew 在 2009 年由马克斯·霍威尔(Max Howell)写成,它在 GitHub 上拥有大量贡献者,目前仍处于活跃状态。
1. 安装HomeBrew
1.1 安装前的要求
- 操作系统为Mac OS X 10.5 Leopard或更高版本
- 已安装版本管理工具Git(Mac OS X 10.7 Lion已经预安装)
- 已安装Xcode开发工具
- 已安装Java Developer Update
1.2 使用终端安装
打开终端,输入下列语句,自动安装HomeBrew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
1.3 验证HomeBrew是否完成
在终端中输入brew
TorMoordeMacBook-Pro:~ zfc$ brew
-bash: brew: command not found
//注意,这里输入brew没有响应,因为我们没有把他加入系统路径中
//所以输入完整路径,如下列所示
TorMoordeMacBook-Pro:~ zfc$ /usr/local/bin/brew Example usage: brew search [TEXT|/REGEX/] brew info [FORMULA...] brew install FORMULA... brew update brew upgrade [FORMULA...] brew uninstall FORMULA... brew list [FORMULA...] Troubleshooting: brew config brew doctor brew install --verbose --debug FORMULA Contributing: brew create [URL [--no-fetch]] brew edit [FORMULA...] Further help: brew commands brew help [COMMAND] man brew https://docs.brew.sh TorMoordeMacBook-Pro:~ zfc$
1.4 输入brew不响应
1.4.1 使用完整路径
只输入brew不行,要输入brew的完整路径
如:上述例子中我们输入了/usr/local/bin/brew 就成功了
1.4.2添加环境变量
虽然输入完整的路径可以使用brew,但是对于我们来说还是太过于繁琐,所以我们把他加入环境变量,这样我们就可以直接使用brew了
- 打开访达,按 shift + commend + G,输入~/.bash_profile
- 打开 .bash_profile
- 输入
PATH=/usr/local/bin:$PATH
4.重新打开终端,输入brew,看是否成功
安装完成后,Homwbrew 会将本地 /usr/local 初始化为 git 的工作树,并将目录所有者变更为当前所操作的用户,将来 brew 的相关操作不需要 sudo 。
2. Homebrew语句
安装好HomeBrew后,我们就可以开始使用HomeBrew了
但是在开始之前,我们有必要清楚brew的常用语句
which brew 展示brew的位置 brew search 列出brew支持的软件 brew search <package_name> 搜索 brew install <package_name> 安装软件 brew uninstall <package_name> 卸载软件 brew update 从服务器上拉取,并更新本地 brew 的包目录 brew upgrade <package_name> 更新软件 brew outdated 查看你的软件中哪些有新版本可用 brew cleanup 清理老版本。使用 `-n` 参数,不会真正执行,只是打印出真正运行时会做什么。 brew list 查看你安装过的包列表 brew list --versions 查看你安装过的包列表(包括版本号) brew link <package_name> 将软件的当前最新版本软链到`/usr/local`目录下 brew unlink <package_name> 将软件在`/usr/local`目录下的软链接删除 brew info 显示软件的信息 brew deps 显示包依赖
3.HomeBrew下载软件的目录
虽然使用HomeBrew安装软件很方便,但是有时候我们想直接使用电脑本地的软件包,所以我们还是有必要知道怎么找到软件包的位置
3.1 安装包
Homebrew下载后的软件包放在/Library/Caches/Homebrew中,时间长了以后,软件包会特别多,所以我们应该定期清理
3.2 安装目录
HomeBrew下载的软件的安装目录为
/usr/local/Cellar/<package_name>/<version>/
一般的软件可能会包含可执行文件、供其它库使用的头文件、运行库、文档等文件或目录,为了方便升级管理,,brew 会把这些文件或目录分别软链接到
/usr/local/bin/ /usr/local/include/ /usr/local/lib/ /usr/local/share/
等目录下
3.3 更新
HomeBrew更新后的版本不会自动删除,即:更新后的软件会有多个版本
所以我们可以通过
brew swith <package_name> <version>
来选择软件的版本
同时,也可以通过
brew cleanup
来清楚多余的版本
二. Homebrew Cask
HomeBrew是通过源码的方式来安装软件,但是有时候我们安装的软件是GUI程序应用宝(.dmg/.pkg),这个时候我们就不能使用HomeBrew了
所以有了HomeBrew Cask的出现
brew cask 是在brew 的基础上一个增强的工具,用来安装Mac上的Gui程序应用包(.dmg/.pkg), 比如qq、chrome等。它先下载解压到统一的目录中(/opt/homebrew-cask/Caskroom),省掉了自己去下载、解压、拖拽(安装)等步骤,同样,卸载相当容易与干净。然后再软链到~/Applications/目录下, 非常方便,而且还包含很多在 AppStore 里没有的常用软件。
brew cask的官网是:http://caskroom.io
github地址是:https://github.com/caskroom/homebrew-cask
1. 安装HomeBrew Cask
因为我们这个时候已经安装了HomeBrew,所以我们直接使用HomeBrew来进行安装,打开终端,输入下列语句
brew install caskroom/cask/brew-cask
如果有错误提示,可在终端中执行 xcode-select --install
,在弹出的窗口选择 Install 以安装 Command Line Tools,路径为 /Library/Developer/CommandLineTools
,如要卸载,删除此文件夹即可。当然也可以到 Mac App Store 安装体积庞大的 Xcode。
如果安装失败,显示Error: Cask 'brew-cask' is unavailable: '/usr/local/Homebrew/Library/Taps/caskroom/homebrew-cask/Casks/brew-cask.rb' does not exist. ,尝试输入
brew install brew-cask-completion
错误:
Error: caskroom/fonts was moved. Tap homebrew/cask-fonts instead.
解决:
caskroom 已经被移动了,可以使用 homebrew/cask-fonts 来安装,使用下面的命令进行安装。
brew tap homebrew/cask-fonts brew cask install font-fira-code
测试:
brew cask search
安装成功
若输入brew cask无响应
输入完整路径
因为我们没有把路径加入系统路径中
3. HomeBrew cask常用命令
Homebrew Cask 是 Homebrew 的扩展,借助它可以方便地在 macOS 上安装图形界面程序,即我们常用的各类应用。Homebrew 中文含义为自制、自酿酒,Cask 中文含义为桶、木桶,桶装酒是一种成品,也就是说每一个 homebrew cask
都可以直接使用的,比如 Atom 的 Cask 名称为 atom,那么就可以使用如下命令安装:
brew cask install atom

甚至也可以提交新的 Cask,比如假设有桌面客户端少数派,则用 brew cask create sspai
创建新的名称为 sspai
的 Cask,当然还要提供官网下载链接、官方主页、应用版本等信息,可以参照 官方教程,此处就不再细说。
具体命令
brew cask install 应用名称
brew cask install <甲应用名称> <乙应用名称> <丙应用名称>
前文已经讲过这个安装命令,但一个问题是:如何确认它支持所要安装的应用?
brew cask search 关键字
比如要确定是否支持应用 gooooooogle,可搜索关键字 goo,即可显示所有包含 goo 的应用。如果不加关键字,会显示出所有支持的应用名称。

由于 Homebrew Cask 还不支持更新应用,故建议使用应用自带的方式进行更新。欲要查看其他命令,可在终端执行 brew cask help
以显示所有 commands,比如发现查看应用 Cask 信息的命令是 info
,则在终端执行 brew cask info 应用名称
即可显示该应用信息。

Homebrew Cask 原理
之前,是用软链接的方式将应用链接到 Application 文件夹,有人说这样的方式会导致 Spotlight 无法检索到。但现在,它是将应用直接移动到 Application 文件夹,这与我们自己去官网下载应用再安装是完全一致的,后续更新或卸载也按平常的方式即可。
当然,也可以用 brew cask uninstall 应用名称
的方式,这种方式才会删除路径 /usr/local/Caskroom
中保留的应用信息文件,这样当我们用命令 brew cask list
查询已安装列表时,已卸载的应用才不会仍显示。也就是说,如果按照平常的方式,比如直接移到废纸篓,那么还需手动删除 Caskroom 中的应用信息文件。当然,不删除也没啥影响,因为一般没必要查看已安装列表,已安装应用在 Launchpad 中查看就好。
总结
我们可以查阅 官方使用说明 以了解 Homebrew Cask 命令别名、高级搜索语法等用法。通过这种方式安装应用,与我们平时的方式安装应用,两者除了方式没有任何其他区别,那为何不尝试尝试这种轻松的方式呢?只一句命令,没有那些点击,没有那些拖动…… Homebrew Cask 让非 Mac App Store 应用的安装更轻松,若你也想以更轻松的方式安装和更新 Mac App Store 应用,请参阅 终端上的 Mac App Store「mas」让应用的安装与更新无比轻松。
注意:
HomeBrew cask没有提供更新软件的命令,所以我们更新软件得先卸载再安装
命令如下
brew cask uninstall APP && brew cask install APP