参考链接:
最近在家写代码,写代码过程中基本很少跟网络打交道,然后就在昨天晚上想新建一个项目的时候,需要使用终端进行文件配置,需要拉去GitHub上的第三方开源库,结果是心力交瘁,一直爆如下错误提示:
failed; curl 56 LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 54
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed,
抱着试一试的心理,Google了一下报错信息,汇总了参考资料下面的文章,简单记录一下。
实现
1.、 找到自己的代理工具的HTTP代理设置
,查看监听地址和监听端口,比如我这边的监听地址与端口同MacOS 10.12 终端命令行下使用Shadowsocks中是一致的:
- 监听地址:127.0.0.1
- 监听端口:1087
2、通过在命令行直接设置代理
//开启代理
export http_proxy=127.0.0.1:1087
export https_proxy=127.0.0.1:1087
//关闭代理
unset http_proxy
unset https_proxy
在 Mac Terminal使用Shadowsocks连接网络文章中提到:
- 这个设置只对当前terminal窗口有效
- ping命令是在网络层,而代理是在运输层之上的,所以无法用ping来检测是否代理正常,但可以用curl命令检测代理是否可用。具体代码如:
curl -i https://www.google.com
配置一个别名方便启动
因为只对当前终端窗口有效,所以我们可以配置一个别名方便我们启动关停代理。
vim ~/.bash_profile
在文件中加入
# Custom Add not System
alias proxy-on='export http_proxy=127.0.0.1:1087;export https_proxy=$http_proxy'
alias proxy-off='unset http_proxy;unset https_proxy'
就可以在命令行内通过 proxy-on 和 proxy-off 来开启关闭当前窗口代理。
总结
所以最终报错的原因是因为网络问题,同样我在搜索的时候也发现了以下文章:
说是Xcode的问题,不过我从来没有安装过两个Xcode,也不知道最终是怎么解决这个题主的问题,如果你觉得你是这个问题,也可以尝试下。
网友评论