error: gnutls_handshake() failed: A TLS fatal alert has been received. while accessing https://service/project.git/info/refs
fatal: HTTP request failed
解法就是重編 git (細節似乎是 gnutls 問題)
流程:
- 到 https://github.com/git/git/releases 下載 git 程式碼(此例用 v2.25.1)
- 安裝 libcurl4-openssl-dev libexpat1-dev 等編譯環境
- 編他:./configure --with-expat --with-curl --with-openssl
$ dpkg -l | grep gnutls
ii libcurl3-gnutls 7.22.0-3ubuntu4.17 Multi-protocol file transfer library (GnuTLS)
ii libgnutls-dev 2.12.14-5ubuntu3.14 GNU TLS library - development files
ii libgnutls-openssl27 2.12.14-5ubuntu3.14 GNU TLS library - OpenSSL wrapper
ii libgnutls26 2.12.14-5ubuntu3.14 GNU TLS library - runtime library
ii libgnutls26:i386 2.12.14-5ubuntu3.14 GNU TLS library - runtime library
ii libgnutlsxx27 2.12.14-5ubuntu3.14 GNU TLS library - C++ runtime library
ii libneon27-gnutls 0.29.6-1ubuntu1 HTTP and WebDAV client library (GnuTLS enabled)
$ sudo apt-get install libcurl4-openssl-dev tcl-dev libexpat1-dev
$ wget https://github.com/git/git/archive/v2.25.1.tar.gz
$ tar -xvf v2.25.1.tar.gz && cd git-v2.25.1
$ make configure
$ ./configure --with-expat --with-curl --with-openssl
$ make test
$ sudo make install
其中 make test 會跑一陣子,可以選擇執行 XD
沒有留言:
張貼留言