2013-03-27 13 views
5

Sono stato con git per un po 'senza problemi, poi improvvisamente iniziato a gettare questo errore quando si utilizza git push:errore git: gnutls_handshake() non è riuscito a spingere

error: gnutls_handshake() failed: A TLS packet with unexpected length was received. while accessing ... fatal: HTTP request failed

Si stava lavorando bene, poi improvvisamente fermato.

Qual è il problema?

Grazie

+1

dare uno sguardo qui: http://askubuntu.com/questions/186847/error -gnutls-handshake-falied – niculare

+0

@niculare - sto ricevendo questo errore 'dpkg-source: errore: impossibile aprire git_1.7.9.5-1.dsc: nessun file o directory' su questa riga 'sudo dpkg-source -x git_1.7.9.5-1.dsc' – Wahtever

+0

controlla se il file 'git_1.7.9.5-1.dsc' si trova nella directory corrente. In caso contrario, forse alcuni comandi precedenti non sono riusciti. – niculare

risposta

3

sembra che ci sia un problema con il pacchetto gnutls. Per ovviare al problema, puoi provare a compilare git con openssl. Maggiori informazioni su come ottenere questo risultato puoi trovare here.

1

La discussione collegata su askubuntu fa riferimento a un numero di versione per git che potrebbe non corrispondere con il proprio. Invece di queste due righe:

sudo dpkg-source -x git_1.7.9.5-1.dsc 
cd git_1.7.9.5 8. 

è necessario tenere conto della versione di git che si sta utilizzando. Nel mio caso, era 1.8.xxxxx.

sudo dpkg-source -x git_<git-version-number>.dsc 
cd git_<git-version-number> 

Un modo semplice per aggirare il problema è quello di copiare solo la prima parte del comando e poi ha colpito Tab per completare automaticamente. Questo potrebbe non funzionare perfettamente se lo hai ricompilato prima.

0

Nel mio caso lo stesso errore è stato causato da una cosa completamente diversa.

Debian è stato aggiornato da Wheezy a Jessie, e quindi apache è stato aggiornato 2.2.22 a 2.4.10. git stava cercando di spingere per https://www.example.com e ha smesso di funzionare con error: gnutls_handshake() failed: A TLS packet with unexpected length was received

Risulta, www.example.com è stata risolvendo per entrambi gli indirizzi IPv4 e IPv6, e Apache config stava avendo <Virtualhost x.y.w.z:443> Indirizzo IPv4 solo. La modifica a <Virtualhost _default_:443> ha risolto il problema.

(solo così se aiuta qualcun altro con lo stesso problema ... trovato solo dopo la ricompilazione noioso di git con OpenSSL non ha cambiato nulla)

0

This answer potrebbe aiutare. Sono rimasto sorpreso dal fatto che i problemi non siano collegati da nessuna parte, anche se la domanda è vecchia.

solo per essere sicuri informazioni utile, non si perde, copio una breve soluzione dalla domanda:

hostname=XXX 
port=443 
trust_cert_file_location=`curl-config --ca` 

sudo bash -c "echo -n | openssl s_client -showcerts -connect $hostname:$port 2>/dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' >> $trust_cert_file_location" 
Problemi correlati