Skip to main content

在Mac OS上安装HomeBrew与安装时的问题集锦

By 2021-08-08系统相关

首先,常规安装命令:/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

 

以下是问题集合:

一、443端口拒绝访问

https://raw.githubusercontent.com/Homebrew/install/master/install 里面提醒说,现在是通过bash来安装的HomeBrew。

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

在尝试之后发现,直接使用该命令会抛出443端口拒绝连接的问题。猜测是因为DNS被污染了(污染原因自行百度/Google)。

解决方法如下:

  1. 打开以下网页:
    https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh
  2. 复制最新的shell安装文件命令到本地的文件,并改名homebrew-install.sh
  3. 然后在本地通过运行bash -f homebrew-install.sh来进行安装

二、对于安装的时候出现的HomeBrew timeout/无法下载

解决方法如下:

  1. 使用ip查询网址(例如 https://www.ipaddress.com/)直接查找到github.com与github.global.ssl.fastly.net的ip地址。
  2. 将查到的IP地址添加到本地的host文件。这里查到的是
    140.82.112.3 对应 github.com
    199.232.5.194 对应 github.global.ssl.fastly.net

    注意,每个人查到的IP地址都有可能不一样哦!

  3. 打开本地的host文件,mac OS是:sudo vim /etc/hosts
  4. 在里面添加如下两行:
    140.82.112.3 github.com
    199.232.5.194 github.global.ssl.fastly.net
  5. 通过ping github.com以及ping github.global.ssl.fastly.net来进行联通性测试。发现可以连通后,即可继续安装。

三、SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443(常出现在中国大陆地区)

解决方法:使用中科大的HomeBrew-core

  1. git clone git://mirrors.ustc.edu.cn/homebrew-core.git/ /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core --depth=1
  2. cd "$(brew --repo)"
  3. git remote set-url origin https://mirrors.ustc.edu.cn/brew.git
  4. cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
  5. git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git
  6. git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow
      • 参考资料1:https://github.com/Homebrew/brew/pull/9383
      • 参考资料2:http://geogig.org/docs/repo/partialcloning.html
      • 参考资料3:https://github.com/Homebrew/discussions/discussions/225
  7. brew update 即可

四、cask安装失败(常出现在中国大陆地区)

  1. cd "$(brew --repo)/Library/Taps/"
  2. cd homebrew
  3. git clone https://mirrors.ustc.edu.cn/homebrew-cask.git

Leave a Reply