iOSiOS一点通CocoaPods相关

SSL_ERROR_SYSCALL in connection

2021-06-28  本文已影响0人  张_何

问题

2021 6 月接手了一个 Flutter 开发的新项目,在 clone 完项目之后,首次运行提示我需要先要执行 pod install ,于是我在终端执行了 pod install,等了好久结果报SSL_ERROR_SYSCALL in connection to github.com:443的错误,我重新执行了pod install --verbose, 发现pod在安装PromiseKit的时候报的错误,于是我在网上开始查找解决方案,噩梦就此开始....

尝试解决

百度

我将SSL_ERROR_SYSCALL in connection to github.com:443的错误复制到百度搜索,出来了好多结果,我选了几个感觉比较靠谱的去尝试,大致归为以下几种解决方案:

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

然后再次尝试 pod install

以上三种都是对.gitconfig 文件中的脚本进行修改,需要注意的是文件中的格式一定要正确,注意文本的对齐方式,要与之前的保持一致

google

gem ruby cocoapods 上的操作

网络

其他

.gitconfig 配置


经过了上面的各种尝试,我能想到还可以尝试的方法就是重装系统了,由于重装系统及配置相关环境和文件 copy 时间比较久,这种方法我暂时没实施

解决

在我等待合适时机重装系统的时候,转机出现了,有另外一位同事也加入了这个项目的开发,他也遇到了同样的问题,他尝试了一番后也是不行,我建议他重装系统尝试一下,然后他重装了系统,配置了相关环境之后竟然成功了。他的另一台电脑依旧不行,然后他对比了两台电脑的 .gitconfig文件的配置,发现重装系统后的文件中多了一段[url "https://hub.fastgit.org"] insteadOf = https://github.com的脚本,于是将这段脚本赋值到不成的电脑上再次pod install竟然也能成功了。
这里需要注意.gitconfig文件中的格式一定要正确,不然没用的
我将.gitconfig文件中的完整内容贴在下面以供参考,

[core]
    excludesfile = /Users/***/.gitignore_global
[difftool "sourcetree"]
    cmd = opendiff \"$LOCAL\" \"$REMOTE\"
    path = 
[mergetool "sourcetree"]
    cmd = /Applications/SourceTree.app/Contents/Resources/opendiff-w.sh \"$LOCAL\" \"$REMOTE\" -ancestor \"$BASE\" -merge \"$MERGED\"
    trustExitCode = true
[user]
    name = “***”
    email = “***”

[url "https://hub.fastgit.org"]
    insteadOf = https://github.com

注意: 要根据用户情况修改user 中的信息和 core 中的路径

后续

在后面使用某些第三方的时候报错:fatal: could not read Username for Error: fatal: could not read Username for 'https://hub.fastgit.org': terminal prompts disable The process '/usr/bin/git' failed with exit code 128
这里是因为我们将https://github.com全局替换为https://hub.fastgit.org导致的。用git@github.com:替换掉https://hub.fastgit.org既可解决这个错误。解决后.gitconfig文件中的内容如下:

[core]
    excludesfile = /Users/jiwenzhang/.gitignore_global
[difftool "sourcetree"]
    cmd = opendiff \"$LOCAL\" \"$REMOTE\"
    path = 
[mergetool "sourcetree"]
    cmd = /Applications/SourceTree.app/Contents/Resources/opendiff-w.sh \"$LOCAL\" \"$REMOTE\" -ancestor \"$BASE\" -merge \"$MERGED\"
    trustExitCode = true
[user]
    name = “zhangjiwen”
    email = “1129802827@qq.com”
[url "git@github.com:"]
    insteadOf = https://github.com
上一篇下一篇

猜你喜欢

热点阅读