简单说一下使用brew 安装软件时报curl: (60) SSL: no alternative certificate subject name matches target host name 'homebrew.bintray.com' 错误。
第一反应就是curl的问题,各种百度、谷歌了一遍有好多提到这个问题的,都是说什么更新一下证书或者把验证去掉。捣鼓了好久也没有成功。其实这个问题是服务端的正数过期导致的,看了了一下
homebrew.bintray.com
证书已经过期好几个月了。如果是证书过期了,可能是对应的地址没有人维护了,这样的话是不是换一下brew的源就可以了。然后百度了一下,把brew的源换成阿里巴巴的镜像地址。以下为换源的地址命令
修改 brew.git 为阿里源
git -C "$(brew --repo)" remote set-url origin https://mirrors.aliyun.com/homebrew/brew.git
修改 homebrew-core.git 为阿里源
git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.aliyun.com/homebrew/homebrew-core.git
bash 替换 brew bintray 镜像
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.aliyun.com/homebrew/homebrew-bottles' >> ~/.bash_profile source ~/.bash_profile
操作完成后,执行 brew install wget 依然报错,报错如下:
看报错是brew 先从阿里巴巴的这个地址https://mirrors.aliyun.com/homebrew/homebrew-bottles/bottles/wget-1.21.1.catalina.bottle.tar.gz
下载,但是返回404,说明资源不存在,接着又换到https://homebrew.bintray.com/bottles/wget-1.21.1.catalina.bottle.tar.gz
这个地址下载,报了之前同样的错。理论上阿里的源不会有资源找不到的,然后把https://mirrors.aliyun.com/homebrew/homebrew-bottles/bottles/wget-1.21.1.catalina.bottle.tar.gz
放到浏览器中访问,确实是返回了404错误码,思考难道是阿里的源确实有问题?思索之后看到资源的地址在我配置的地址后面多了一个bottles,会不是是多了这个bottles导致资源找不到的,为了验证我的想法,我把地址中的bottles去掉,访问了一下,果真能够正常的下载资源。事情走到这里感觉又进入了死胡同,我配置的地址没有问题,为什么brew install wget的时候会多了一个bottles。我改不了brew install的流程的。
感觉能想到的都用了,不知道接下来怎么弄了。突然脑子一闪,是不是brew的版本的问题,使用brew config 看了一下brew的版本HOMEBREW_VERSION: 3.0.10
,发现版本确实有点低,想着是不是更新一下brew就可以了,抱着试试的态度执行了 brew update
,执行过程有点漫长。更新完成后,执行 brew install wget
命令,成功安装。
参考连接:https://zhuanlan.zhihu.com/p/384290855