Mac m1 安装 Homebrew


Homebrew 是 Mac 的包管理器,类似于 Linux 中的 apt,Windows 中的 choco。

自从 M1 芯片发布,Homebrew 正在积极适配新架构,如今已经有了原生支持 ARM 架构的 ARM 版本 Homebrew。

需要注意的是,ARM 版本的 Homebrew 安装在 /opt/homebrew 路径下,而非 x86 版的 /usr/local/Homebrew

不过对于一些没有适配新架构的软件包,可能仍需要安装 x86 版本的 Homebrew。

安装 ARM 版 Homebrew

可直接执行官方安装脚本:

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

如果安装顺利,那恭喜你,你将会看到:

==> Installation successful!

==> Homebrew has enabled anonymous aggregate formulae and cask analytics.
Read the analytics documentation (and how to opt-out) here:
  https://docs.brew.sh/Analytics
No analytics data has been sent yet (nor will any be during this install run).

==> Homebrew is run entirely by unpaid volunteers. Please consider donating:
  https://github.com/Homebrew/brew#donations

==> Next steps:
- Run these two commands in your terminal to add Homebrew to your PATH:
    echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/xiamu/.zprofile
    eval "$(/opt/homebrew/bin/brew shellenv)"
- Run brew help to get started
- Further documentation:
    https://docs.brew.sh

接下来只要执行日志中下一步的脚本即可:

$ echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/xiamu/.zprofile
$ eval "$(/opt/homebrew/bin/brew shellenv)"

查看 Homebrew 版本:

$ brew -v
Homebrew 3.3.11
Homebrew/homebrew-core (git revision 7685d63742b; last commit 2022-01-22)

至此结束。

常见问题

  • curl: (35) LibreSSL SSL_connect: Connection reset by peer in connection to raw.githubusercontent.com:443
  • curl: (28) Failed to connect to raw.githubusercontent.com port 443: Operation timed out

类似上述报错,基本属于是网络问题,有多个可尝试解决方案。

方案一

遇到这类问题最常用的就是更改 hosts 文件了,步骤如下:

  1. 打开 https://ipaddress.com/website/raw.githubusercontent.com ;
  2. 将其中查询到的 ip 复制出来;
  3. 在终端执行 sudo vim /etc/hosts ,输入密码;
  4. 在hosts文件中添加一行 <复制的ip地址> raw.githubusercontent.com
  5. 重新执行安装脚本。

方案二

以上方案一不一定每次都管用,比如我这次(泪目

如果你有梯子,可以尝试开启全局代理执行安装脚本,或者直接下载安装脚本文件本地执行。

方案三

如果你没有梯子,可以使用 Homebrew 国内源,具体教程 看这里。

方案四

如果你跟我一样是个强迫症,觉得国内源不干净可能更新不及时,也不想手动下载脚本,一定要使用官方推荐方式,但是全局代理又行不通,可以尝试让终端使用代理:

首先确定本机代理监听的协议及端口,如:socks5://127.0.0.1:1086

在终端测试下代理:

$ all_proxy="socks5://127.0.0.1:1086" curl https://ip.cn/api/index\?ip\=\&type\=0
{"rs":1,"code":0,"address":"美国  加利福尼亚  ","ip":"65.49.204.191","isDomain":0}% 

可以看到请求是成功走代理的,对比不走代理:

$ curl https://ip.cn/api/index\?ip\=\&type\=0
{"rs":1,"code":0,"address":"中国  浙江省 杭州市 移动","ip":"xx.xx.xx.xx","isDomain":0}%

接下来就简单了,直接在安装脚本添加 all_proxy="socks5://127.0.0.1:1086" 即可:

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

安装 x86 版 Homebrew

安装 x86 版 Homebrew 及处理 两个版本的共存问题请参考参考链接。


参考:

在 M1 芯片 Mac 上使用 Homebrew https://sspai.com/post/63935