在mac系统中,使用homebrew可以很方便的管理包。按照官网的说明执行以下命令时总是报错: 

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

应该是这个资源访问有问题,那么我们可以尝试使用国内的镜像。给大家推荐一个中国科学技术大学的镜像站点,里面有各种资源: ​​https://mirrors.ustc.edu.cn/brew.git​​ 

言归正传,开始踩坑

第一步,获取install文件

把官网的​​brew_install安装​​脚本通过以下命令下载下来 

curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install >> brew_install

第二步,更改脚本中的资源链接,替换成中国科学技术大学的镜像

就是把这两句 

BREW_REPO = "https://github.com/Homebrew/brew".freeze
CORE_TAP_REPO = "https://github.com/Homebrew/homebrew-core".freeze

更改为这两句 

BREW_REPO = "https://mirrors.ustc.edu.cn/brew.git".freeze
CORE_TAP_REPO = "https://mirrors.ustc.edu.cn/homebrew-core.git".freeze

当然如果这个镜像有问题的话,可以换成别的,注意:新版本的​​brew_install脚本文件中取消了CORE_TAP_REPO = "https://github.com/Homebrew/homebrew-core".freeze这句,可以不用替换。-更新日期20200225​

第三步,执行脚本

/usr/bin/ruby brew_install

然后可能卡在了Cloning into '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core'...,可以看到这几句: 

==> Tapping homebrew/core

Cloning into '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core'...

fatal: unable to access 'https://github.com/Homebrew/homebrew-core/': LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 54

Error: Failure while executing: git clone https://github.com/Homebrew/homebrew-core /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core --depth=1

Error: Failure while executing: /usr/local/bin/brew tap homebrew/core

出现这个原因是因为源不通,代码来不下来,解决方法就是更换国内镜像源:

执行下面这句命令,更换为中国科学技术大学的镜像:

git clone git://mirrors.ustc.edu.cn/homebrew-core.git/ /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core --depth=1

就下载成功了

然后把homebrew-core的镜像地址也设为中国科学技术大学的国内镜像,按顺序在终端执行下面命令

cd "$(brew --repo)"
git remote set-url origin https://mirrors.ustc.edu.cn/brew.git
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git

执行更新,成功:

brew update

最后用这个命令检查无错误:

brew doctor

这样海外和已经有系统全局代理设置的朋友们就可以直接使用 brew 命令安装软件了。

第四步、接着换源

直接使用 Homebrew 还需要更改默认源,不然谁用谁想打人,原因你懂的。以下是将默认源替换为国内 USTC 源的方法。

替换核心软件仓库

cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git

如果你没有安装​​Homebrew-Cask​​不用执行下面这句命令替换 cask 软件仓库(提供 macOS 应用和大型二进制文件)

cd "$(brew --repo)"/Library/Taps/caskroom/homebrew-cask
git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-cask.git

替换 Bottles 源(Homebrew 预编译二进制软件包)

bash(默认 shell)用户:

echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.bash_profile
source ~/.bash_profile

zsh 用户:

echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.zshrc
source ~/.zshrc

 

Homebrew基本用法:

假定操作对象为 wget,请替换为自己需要的软件包名

操作

命令

更新 Homebrew

brew update

更新所有安装过的软件包

brew upgrade

更新指定的软件包

brew upgrade wget

查找软件包

brew search wget

安装软件包

brew install wget

卸载软件包

brew remove wget

列出已安装的软件包

brew list

查看软件包信息

brew info wget

列出软件包的依赖关系

brew deps wget

列出可以更新的软件包

brew outdated


参考资料:

Homebrew 中文主页

​https://brew.sh/index_zh-cn.html​

 Homebrew Bottles 源使用帮助

​http://mirrors.ustc.edu.cn/help/homebrew-bottles.html​

 Homebrew Cask 源使用帮助

​http://mirrors.ustc.edu.cn/help/homebrew-cask.git.html​

 Homebrew Core 源使用帮助

​http://mirrors.ustc.edu.cn/help/homebrew-core.git.html​