安装Homebrew

打开官网 brew.sh ,首先印入眼帘的就是 Install Homebrew

打开Mac上的Terminal或者其他的终端软件(iTerm),将下面的命令复制到里面,然后回车,就可以了。

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Formulae和Cask

Formulae

Homebrew作为一个软件包管理器,一开始是Red-hat的Yum,和Ubuntu的apt-get等Linux上的包管理器在Mac平台的第三方替代品,用于安装与卸载软件,当然也包括自动处理依赖。

这也是Homebrew的核心功能,homebrew-core ,也就是Formulae,通过homebrew,我们可以轻松的安装CLI软件(大多都是开源软件),而不用去考虑依赖,当然它也支持本地编译,也就是说我没也不用考虑系统的版本,或者处理器是arm还是x86的,也就是在本地执行的 Build From Source

Cask

Homebrew Cask 作为homebrew 的扩展,主要是用来安装一些GUI图形软件,或者大型的二进制软件。这些软件各色各样,简单来说是命令行版的App Store,当然不能在App Store上架的软件是占多数的,他可以说是大大简化了用户在安装软件时的操作,比如我们需要安装微信。正常来说,我们有两种操作。

  1. 在App Store中搜索微信,点击安装,然后等着它慢慢转圈。

    image-20220307180424700

  2. 打开微信官网 https://weixin.qq.com ,选择系统,然后下载。下载玩后,点开安装文件dmg,再将其拖到Applications文件夹

    image-20220307180535192

    image-20220307180734017

很显然,上面的操作非常麻烦,或许你会说,直接用App Store很简单啊,当然如果你能忍耐点击Get,然后点击Install,然后又要输入你的Apple ID账号密码(有时候直接用指纹就行),其实也没啥麻烦的。

事实上很多在Mac App Store中上架的软件都是阉割版,沙盒化运行的。很多功能都需要经过Apple的审核才能上线,某些情况下官网中的版本功能是比较全面的,另一方面,大部分软件,你在Mac App Store上是搜不到,很多开发者也并没有要支付100美元一年的打算。就比如Chrome浏览器。你还是得去官网下载的。

前面啰嗦了很多,下面我们来看一下利用homebrew安装微信需要的操作。

  1. 打开终端
  2. 输入brew install wechat 回车,等待下载安装,然后你的程序坞(Launchpad)中就有了微信

Brew安装微信

当然,有时候你会问,我怎么知道微信是wechat。一开始的确是很难记得这些的,你需要打开brew.sh ,搜索一下

image-20220307182410085

两者区别

记得之前的版本安装Fomulae和Cask是有不同的

安装Formulae

brew install <software-name>

安装Cask

brew install --cask <software-name>

然后现在的版本,应该是解决了cask和formulae的冲突问题,统一用

brew install <software-name>

就行了

安装与卸载

在前面有提及过如何使用brew安装软件

我在这里说一下,我安装软件一般是怎么操作的。

安装

官网搜索

对于国内的软件,如果不记得name,我都是需要去官网用中文搜索一下的,比如爱奇艺

image-20220307183343553

可以记住cask name,自己写命令,也可以点进去,直接复制命令到终端

image-20220307183531425

直接安装

如果是一些很常见的软件,比如node.js,我会直接使用下面的命令获取详细信息

brew info node

image-20220307183951801

或者是只记得个大概,安装谷歌浏览器,我会使用search命令

brew search chrome

image-20220307184223730

可以知道google-chrome就是我没想要安装的软件

卸载

使用homebrew卸载软件,可以清理掉一些软件残余,例如,微信的缓存等等。

一般的话软件厂商都是告诉我们卸载软件只需要将软件拖到垃圾篓(Trash)里面就行了,如果是Mac App Store安装的,直接叉掉就行了,但实际上这样只是将软件本体删了,然而软件产生的文件缓存,并没有被删除(应不应该保留软件残余的问题暂且不讨论)

利用homebrew卸载软件,只需要用下面的命令就行

brew uninstall <sortware-name>

我们在卸载微信的同时也将下面的微信残余文件夹给删了。

"~/Library/Application Scripts/com.tencent.xinWeChat",
"~/Library/Caches/com.tencent.xinWeChat",
"~/Library/Containers/com.tencent.xinWeChat",
"~/Library/Cookies/com.tencent.xinWeChat.binarycookies",
"~/Library/Group Containers/$(TeamIdentifierPrefix)com.tencent.xinWeChat",
"~/Library/Preferences/com.tencent.xinWeChat.plist",

这个取决于这个软件的cask文件是否包含清理残余的命令

更新软件

一般情况下,App Store中下载的软件更新,那就直接进入App Store中点击更新,很多软件采用热更新,或者说启动时自动检测更新,然后下载安装包更新。

通过homebrew安装的软件我们可以通过下面的命令更新

brew upgrade <software-name>

直接更新所有软件

brew upgrade

给社区做贡献

很显然,这种方便的安装软件背后肯定是需要大量的人力来维护的(虽然有bot)

每个人都可以参与到这个项目当中来,提交软件的脚本文件或者更新软件的版本。语法非常简单。可以进入官网查看。多一个contribute何乐而不为。

想要知道软件的cask文件在哪里,直接只用brew info命令,下面的from(github链接)就是cask文件。打开之后如图所示

image-20220307190417146