mac更换homebrew

BeiweiHuang 2018-08-27

在mac系统中,使用homebrew可以很方便的管理包。按照官网的说明执行以下命令时总是报错: 
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

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

言归正传,开始踩坑

第一步,获取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 
当然如果这个镜像有问题的话,可以换成别的

第三步,执行脚本

/usr/bin/ruby brew_install

然后可以看到这几句: 

==> 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

liyuanbadeMacBook-Pro:~ liyuanba$ git clone https://github.com/Homebrew/homebrew-core /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core --depth=1

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

执行下面这句命令,更换为中科院的镜像:

 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 源的方法。

替换核心软件仓库

替换 cask 软件仓库(提供 macOS 应用和大型二进制文件)

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

bash(默认 shell)用户:

zsh 用户:

基本用法:

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

操作命令
更新 Homebrewbrew 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

相关推荐