问题截图
报错详情
如上图,在安装gRPC-Core时,下载grpc是没有问题的,但grpc的几个依赖库submodules下载总是失败,报错如下:
error: RPC failed; curl 56 LibreSSL SSL_read: error:02FFF036:system library:func(4095):Connection reset by peer, errno 54
error: 4808 bytes of body are still expected
fetch-pack: unexpected disconnect while reading sideband packet
fatal: early EOF
fatal: fetch-pack: invalid index-pack output
fatal: clone of 'https://github.com/envoyproxy/data-plane-api.git' into submodule path '/private/var/folders/m_/vzhhfvfd01794lfsgm8rwlj80000gp/T/d20220829-41509-lvh2ed/third_party/envoy-api' failed
解决方法
使用ssh方式,得以解决,命令行输入:
git config --global url.git@github.com:.insteadOf https://github.com/
此命令的作用是将所有git clone的url中包含https://github.com/的都替换为git@github.com:,以ssh的方式去执行git clone,例如:
git clone https://github.com/envoyproxy/data-plane-api.git
执行了上边的命令后,将转为
git clone git@github.com:envoyproxy/data-plane-api.git
问题分析
应该是因为网络问题,使用https的方式总是无法完成下载,故采用ssh方式得以解决。
其他解决方式
这些方式我都尝试了,但并未适用于我的问题,但也记录下。
- 修改gitconfig,增大缓存
git config --global http.postBuffer 524288000
git config --global https.postBuffer 524288000
- 修改host,增加以下ip域名
140.82.113.3 github.com
146.75.77.194 github.global.ssl.fastly.net
185.199.108.153 assets-cdn.github.com
185.199.109.153 assets-cdn.github.com
185.199.110.153 assets-cdn.github.com
185.199.111.153 assets-cdn.github.com
- 修改gitconfig,取消http代理
git config --global --unset http.proxy
git config --global --unset https.proxy