git clone: GnuTLS接收错误(-9): 收到了一个意外长度的TLS数据包

12

我正在尝试克隆一个Git仓库,执行命令时遇到以下错误:

GnuTLS recv error (-9): A TLS packet with unexpected length was received.

我的客户端机器是 Ubuntu 14.04。


1
已知的错误:https://bugs.launchpad.net/ubuntu/+source/gnutls26/+bug/1111882 - Steffen Ullrich
2
你可以在这里找到解决方案: http://askubuntu.com/questions/186847/error-gnutls-handshake-failed-when-connecting-to-https-servers/187199#187199。 - Ivan Ternovtsiy
3个回答

2
如果你在中国,可能需要为git设置代理,例如:
git config --global https.proxy 'socks5://127.0.0.1:9999'

2
这是一个已知的错误,正如@Ivan Ternovtsiy所说,但是有一个解决方法。
从你的系统中移除当前的GIT。
 sudo apt-get purge git

下载GIT deb git_1.9.1-1_amd64.deb 链接

执行已下载的DEB文件。


1
您的情况可能不同,但我怀疑有两个因素:
  • 下载速度慢 -> 在大型仓库上连接时间太长
  • 我的互联网服务提供商不喜欢长时间连接并关闭它们
因此,我决定更换互联网服务提供商,并选择更高的带宽。现在一切都正常了。我不确定只更换提供商或选择更高的带宽是否足够,所以您需要尝试一下。
注意:我曾经使用 我在另一个问题中提到的解决方法,它涉及浅克隆,这让我想到较短的连接可能有效。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接