brew 安装失败:LibreSSL SSL_connect: SSL_ERROR_SYSCALL

13,330 阅读2分钟

Homebrew

概念

官方定义是macOS默认的软件包管理器。

背景

之所以想安装这个软件包管理器,通常是想使用它来安装macOS(linux)上的软件工具

比如brew install wget

但是在一番倒腾下终于使用上了翻墙软件后,按官方安装brew的命令执行,如下

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

终端却报了个错

fatal: unable to access 'https://github.com/Homebrew/homebrew-core/': LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443

无奈之下上搜索引擎寻求帮助,试了一通网上提供的方案,却怎么也解决不了问题,而时间已过去大半,需求还没开始写。。。正纠结是继续解决问题,还是先放下问题转头做需求=_=

银弹

问题终归需要解决,终于让我遇上终极银弹

1.查看网络设置里当前网络socks代理服务器的IP和端口号,如下截图

image.png

2.添加git全局配置

可以在终端先运行如下命令查看当前git配置

cat ~/.gitconfig

看是否有如下两项配置

http.proxy=socks5://127.0.0.1:6666
http.sslbackend=openssl

如果没有,在终端分别运行如下两条命令添加配置:

git config --global http.sslBackend "openssl"
git config --global http.proxy "socks5://127.0.0.1:6666"

端口号请使用自己本地socks端口号

这时再查看gitconfig的配置,就有如下截图中的配置项了

image.png

此时重新回去执行安装brew的命令就可以成功安装brew软件了

结尾

如果之前安装失败过,此时再安装可能会遇到错误,需要先卸载再安装

安装成功以后想撤销刚刚对gitconfig的配置,在终端运行如下命令

git config --global --unset  http.sslBackend
git config --global --unset http.proxy

补充

根据官网说明安装报错:curl: (35) LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to raw.githubusercontent.com:443 或者 fatal: unable to access github.com/Homebrew/br…: LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443

查询资料后发现苹果新系统安全提升,禁止了直接执行远程脚本。 把脚本文件下载到本地来执行就好

安装的脚本下载

卸载的脚本下载

将对应的脚本文件下载以后,在终端切换到下载脚本所在目录并执行 bash install.sh / bash uninstall.sh进行安装

脚本下载和执行安装过程需要翻墙