本文主要讲解如何解决git连接https仓库出现报错的问题。该问题主要出现在Debian以及Ubuntu等操作系统中。

在Debian等操作系统使用git clone 经常出现error: gnutls_handshake() failed: A TLS packet with unexpected length was received 错误。

使用http克隆仓库

bash
1
2
#!/bin/bash
git clone http://github.com/cuisongliu/xxx

使用git源码重新编译

bash
1
2
3
#!/bin/bash
git clone http://github.com/git/git.git
sudo apt-get install libcurl4-openssl-dev
这时系统会把 libcurl4-gnutls-dev 換成 libcurl4-openssl dev,接下来需要用户重新编译源码即可

bash
1
2
3
4
make configure
./configure  --prefix=/usr/local
make all doc
make install install-doc install-html