背景:pod 更新代码的问题

项目依托 cocoapods 管理第三方库

  • 项目中经常要执行pod update更新第三方库
  • 通过 jenkins、fastlane 等持续集成测试抑郁症工具,进行打包时要执行pod update更新第三方库
  • 在终端下http 500,访问 github 下载或上传资源

由于 dns 污染等问题,访问 github 经常出现问题。
笔者工作的项目,通过 jenkins 打包 ipa 时,总是遇到更新某个第三方库,提示ssl_error_syscall in connection to github.com:443等问题,造成打包失败。一个项目依赖有 10 多个第三方库,点一次构建,偶尔能安装成功一个库苹果手机google翻译接着安装下一个就可能失败,需要不断的点‘重新构建’,成功与否看运气。
失败示例如下图

如何解决 github ssl_error_syscall 的问题

如何解决 github ssl_error_syscall 的问题

解决方案

设置代理解决问题

  1. 为终端设置全http 500局代理

首先,笔者使https域名用的代理(测试抑郁症kx上网)工具是 Clas()X。 点击电脑屏幕顶部栏 Cl()shXhttps认证 的图标,再点击复制终端代理命令这个选项,获得命令行。 然后,为终端配置代苹果手机理。
macOSMojave及更低的系统版本的默认Shell终端是 bash,我们需要修改.bash_pro测试你的自卑程度file文件。

vi ~/.bash_profile

接着把上一步复制得到的https认证命令,改写到.bash_profile文件中,格式如下:

export https_proxy=http://127.0.0.1:7890
export http_proxy=http://127.0.0.1:7890 
export all_proxy=socks5://127.0.0.1:7890

保存退出后,执行下面的命令使配置生效:

source ~/.bash_profile

从macOS Catalina版本开始,苹果将zsh作为默认的Shell终端,区别是需要修改.zshrc文件,其他设置苹果12内容和方法一样。

vi ~/.zshrc

接着把上面复制得到的命令,改写到.zshrchttps域名文件中,格式如下:

export https_proxy=http://127.0.0.1:7890
export http_proxy=http://127.0.0.1:7890 
export all_proxy=socks5://127.0.0.1:7890

测试你适合学心理学吗存退出后,执行下面的命令使配置生效:

source ~/.zshrc

在这个链接中,可以查看苹果电脑系统历史版本,为自己测试抑郁症的系统选择正确的配置。
设置完成后,可以在新打开的终端下,执行curl -vv https://www.google.com命令,测试是否走代理。(不要用 ping 命令测试,此协议不支持代理)
2. 设置 git 代理
在终端窗口执行下面的命令

git config --globalhttp.proxy http://127.0.0.1:7890
git config --globalhttps.proxy http://127.0.0.1:7890 

上面的两google部设置完成后,就可以在终端下顺利访问 github 了。