解决RPC failed; curl 56 LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 54
- 发表于
- 设计开发
如果git项目过大,或某个关联文件无法访问,会出现这个错误
RPC failed; curl 56 LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 54
解决方法
- 网络上往往都会说这是由于大文件造成的提交或者拉取失败。但是,经过本人测试。如果 errno 56,那么应该是有大文件或者提交缓存方面的问题。而 errno 54 则不是这个问题。对于 56 错误的解决方式与网络上大部分文章的一致。都是增大缓存配置,比如下面就是配置提交缓存为 500M。
1 2 |
git config http.postBuffer 524288000 git config https.postBuffer 524288000 |
- 对于 errno 54 这个错误,经尝试 http 或者 https 协议都无法正常提交。必须改为 ssh 方式来提交代码。也就是必须使用公私钥的方式进行账号验证,并提交代码。具体生成公私钥的方法,参见 github 帮助文档https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/同时找到 git config 当中的项目 url 配置项,改为 ssh 协议类型的项目地址。例如:
url = git@github.com:xxx/xxx.git
- 更换有效的代理的节点
一些建议,尝试一下,不保证有效
- 检测你的 git 版本是不是最新的。
- 你本身是否有这个项目的访问权限。
- 如果你开启了账户的双重验证、或者你准备 clone 的项目是一个开启了单点登录(SSO)的企业项目,那你必须要生成一个个人的 access token,而不能直接用密码访问。
- 如果你使用 ssh 来访问,你必须先生成 ssh key 公私钥匙对。
- 如你的目标项目的企业要求单点登录的,这个时候只能用 https 来访问,不能用 ssh.
- 根据我第一种解决办法,设置好缓存,并配置好 ssh 再试。
原文连接:解决RPC failed; curl 56 LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 54
所有媒体,可在保留署名、
原文连接
的情况下转载,若非则不得使用我方内容。