Homebrew的安装配置和使用
第一节:写在前面
Homebrew 是 macOS 平台上最常用也是最好用的一个包管理工具,使用它给 Mac 下载、安装、卸载软件时,基本上都只需要一条命令,如果你是一位使用 Mac 的开发者,还没有安装 Homebrew 的话,那就太不应该了!
这里我要先声明两点:
英特尔芯片的 Mac 安装 Homebrew 是很简单的,默认安装位置是
/usr/local,我这里就不再赘述了;苹果芯片的 Mac 刚出来的时候,安装 Homebrew 是比较复杂的。第一,安装目录跟英特尔芯片不同,默认安装的位置是
/opt/homebrew;第二,需要处理一些文件夹的权限问题,但随着 Homebrew 的版本更新,虽然默认的安装位置没变,但是截止到我写这篇博文的时间,也就是 2023 年 9 月 8 日,已经不需要再额外处理权限问题了!
这篇博文详细记录了如何在苹果芯片的 macOS 上安装和使用支持 ARM 架构的 Homebrew!
第二节:检测环境
在安装 Homebrew 之前,先查看目录/opt/下面没有名为homebrew的子目录,我这是一台新电脑,显然没有:

其次,还需要在终端中执行命令brew --version来检测是否存在 Homebrew,当然也不会有的:

PS:在安装软件之前检测本机是否已经安装了要安装的软件,这是一个必要的操作,也是一个好习惯!
第三节:安装条件
打开Homebrew的官网,首页赫然展示的就是安装 Homebrew 的命令:

在安装之前,点击上图左下角的installation options(安装选项),可见:

这是安装 Homebrew 时,macOS 需要满足的条件:
- 搭载 Apple 芯片或 Intel 芯片的 macOS(废话);
- macOS 的版本至少要在 14 以上;
- 必须提前安装命令行开发者工具(CLT);
- 必须使用 Bourne-again shell(Bash)终端来安装,Mac 是自带 bash 终端的,即
/bin/bash;
其中第三条:必须提前安装命令行开发者工具!使用 Mac 的开发者肯定都得安装 CLT,这是 Mac 开发者要做的第一件事,我不信还有人的Mac没有安装 CLT!!!
除了官网上说明的这四个条件外,还有一个重要的隐形条件:网络问题!因为使用命令来安装的话,电脑需要去访问网站https://raw.githubusercontent.com,所以你需要保证你的电脑能够访问这个网址,否则就需要使用科学上网了!
第四节:安装程序
新版本的苹果终端默认使用的是 zsh,但官网提供的安装命令的最开头带有/bin/bash,即指定用/bin/bash来执行命令,所以不用再单独打开/bin/bash来执行命令,而是直接打开终端,将官网的安装命令完整复制进去:

按下回车后,会提示输入开机密码:

输入密码并回车(键入的密码并不会出现在终端中,只管正确输入即可),开始安装:

此时键入回车键,继续安装,直到最后安装成功:

从这里可以看出来,Homebrew安装成功了!查看目录/opt中的内容,可以看到安装的 Homebrew:

第五节:配置环境
根据安装程序给出的提示,此时 Homebrew 并不在环境变量中,并且还给出了如何配置环境变量的方法:

但是我发现并不需要配置环境变量:

查看系统的PATH变量以后,才发现:

可见,安装程序已经默认将/opt/homebrew/bin里面所有的命令都添加到系统 PATH 变量中了,所以压根就不需要再另外配置!
第六节:使用细节
这一节的主要内容是分析 Homebrew 的使用细节,比如使用brew install 软件包来安装软件时,软件被安装到了系统的什么位置,以及创建了什么样的软连接,再比如使用brew uninstall 软件包来卸载软件时的细节!
6.1:软件安装
在 Homebrew 的官网上有这么一段描述:

Homebrew 会将软件安装到“独立目录”,通过配图可知,所谓的独立目录就是/opt/homebrew/Cellar!
我们可以做一个实验!打开终端,执行命令:
1 | brew install tree |
执行的情况为:

通过比对系统前后的文件,发现命令brew install tree做了下面两件事:
第一:软件包被安装到/opt/homebrew/Cella目录中了(这个目录原本是空的);
第二:在/opt/homebrew/bin下面创建了一个名为tree的软连接,链接至安装的软件包中的真实命令

即:使用 Homebrew 安装软件时,只会影响 Homebrew 自己的安装目录,不会影响到系统中其他任何目录!
因为在安装 Homebrew 时,安装程序已经将/opt/homebrew/bin添加到系统变量 PATH 中了,所以新安装的软件 tree 也就可以直接使用了!
6.2:软件卸载
使用命令brew uninstall 软件包卸载软件时,就会将安装时做的那两件事“复原”,这里就不赘述了!
~~
~~
~~














