"Impossibile trovare l'helper remoto per 'https'" durante il clone git


244

Non riesco a clonare i repository HTTPS. Posso clonare bene i repository SSH, ma non i repository HTTPS. Non riesco a testare il protocollo GIT poiché sono dietro un firewall aziendale.

Questo è quello che sto cercando di fare:

$ git clone https://github.com/nvie/gitflow.git
Cloning into gitflow...
fatal: Unable to find remote helper for 'https'

Finora ho provato quanto segue (in base alle ricerche di Google)

  • Eliminazione e installazione di Git tramite apt-get
  • Installazione build-depsper Git tramiteapt-get
  • Installazione delle librerie di sviluppo curl
  • Installazione di librerie di espatriati
  • Download del sorgente Git e creazione usando:
    • ./configure --prefix=/usr --with-curl --with-expat
    • Ho anche provato a configurare configure su curl binary ( ./configure --prefix=/usr --with-curl=/usr/bin/curl)

Ho provato tutto ciò che posso trovare su Internet senza fortuna. Qualcuno può aiutarmi?

Versione Git = 1.7.6.4

Sistema operativo = Ubuntu 11.04


Mi dispiace essere ovvio, sembra che il ricciolo non sia installato. fai curl --helpe vedi se lo è.
Mike Jones,

Ricevo un elenco di opzioni di arricciatura quando eseguo arricciatura --help.
Ben K,

1
Lo so, come ho accennato all'inizio della mia domanda, ho esaminato tutti i risultati che posso trovare su Google. Niente ha funzionato finora!
Ben K,

2
Ho lo stesso problema. Sono anche dietro un firewall aziendale. Ho provato a ricompilare con tutte le opzioni disponibili in Internet, ma non funziona affatto. Qualche altra idea?

1
La cosa divertente è che sto cercando di clonare dal github di curl in modo da poterlo compilare su una scatola Solaris $ & #% ^ * bloccata.
makhdumi,

Risposte:


290

Sembra che non avere (lib) curl-devel installato quando si compila git può causare questo.

Se installi (lib) curl-devel e poi ricostruisci / installa git, questo dovrebbe risolvere il problema:

$ yum install curl-devel
$ # cd to wherever the source for git is
$ cd /usr/local/src/git-1.7.9  
$ ./configure
$ make
$ make install

Questo ha funzionato per me su Centos 6.3.

Se non hai yum, puoi scaricare la fonte in curl-devel qui:


Se invece esegui Ubuntu:

sudo apt-get install libcurl4-openssl-dev 

4
questi passaggi hanno funzionato per me. CentOS 5.8 32 bit; versione git 1.8.0
Vikram

1
Ha funzionato per me CentOS 6.4 e git 1.8.2.1
JoxTraex il

18
Su Ubuntu 12.04 LTS il pacchetto di cui avevo bisogno era:sudo apt-get install libcurl4-openssl-dev
Michael Burr

2
Su Ubuntu 10.04 LTS il pacchetto di cui avevo bisogno era: sudo aptitude install libcurl4-openssl-devapt-get ha un problema di dipendenza e aptitude sembra in grado di risolverlo
wenchiching

1
Ho avuto questo problema perché stavo lavorando su git stesso e avevo fatto un "make install" nella mia directory ~ / bin. Il mio PERCORSO ha rilevato ~ / bin / git che ha riscontrato l'errore. L'uso di / usr / bin / git ha risolto il problema.
qneill

71

Se stai cercando di clonare, puoi usare il trasporto git

Per esempio: git clone git://github.com/fog/fog.git

Vaio ~/Myworks/Hero $ git clone git://github.com/fog/fog.git

Initialized empty Git repository in /home/nthillaiarasu/Myworks/Hero/fog/.git/
remote: Counting objects: 41138, done.
remote: Compressing objects: 100% (13176/13176), done.
remote: Total 41138 (delta 27218), reused 40493 (delta 26708)
Receiving objects: 100% (41138/41138), 5.22 MiB | 58 KiB/s, done.
Resolving deltas: 100% (27218/27218), done

3
Grazie per il tuo consiglio. Sfortunatamente lavoro dietro un firewall aziendale che blocca la porta del protocollo git e non lo apriranno per me. Ho scaricato tarball per aggirare il problema, ma mi piacerebbe davvero che la mia installazione di git funzionasse correttamente!
Ben K,

4
Come altri hanno già detto, git: // di solito non è l'ideale, ma apparentemente se ti trovi in ​​una situazione in cui https: // semplicemente non funziona, puoi usare git config --global url."git://".insteadof https://per forzare gitl'uso di git: // invece di https : //. Questo può essere utile se stai cercando di clonare con sottomoduli (ad es. Con --recursive).
fakedad

Perfetto. Non ho potuto installare nulla sul mio cloud QNAP ma questo ha funzionato come un incantesimo!
Phil Roggenbuck,

45

Nel caso in cui qualcuno lo incontri su un sistema QNAP o su qualsiasi altro sistema con OPKG come gestore di pacchetti:

Devi installare git-http insieme a git. Piace:

opkg install git-http

3
Mi hai salvato la giornata! Questo è esattamente il mio caso. Sto usando "entware" su un sistema Xpeonology per ottenere più pacchetti software Linux e dopo "opkg install git", il "git clone https: //" fallirà con errore: fatal: impossibile trovare l'helper remoto per 'https '. Grazie per aver menzionato questo pacchetto "git-http".
zerox,

Grazie ho capito il problema, ma non sapevo quale fosse il pacchetto che avrebbe permesso a Git di catturare dati http invece di dati ssh.
erichlf,

43

Ho usato " git://" invece di " https://" e questo ha risolto il problema. Il mio comando finale è stato:

git clone --recursive git://github.com/ceph/ceph.git

16
Questa è una soluzione alternativa, non una soluzione. Funzionerà per i repository ma non per i contenuti, e non per l'OP a causa del suo firewall aziendale.
Patrick Fisher,

E significa anche che non puoi spingere nulla
Phil

@cecheverria: github non accetta push over git.
user2284570,

2
@PatrickFisher Ma fa il lavoro in ambienti in cui non si dispone dei diritti di installare le librerie curl-devel e / o l'amministratore di sistema non installarli prontamente.
Squipbar,

16

Nel nostro caso, il problema è stato risolto quando abbiamo controllato

git --exec-path

stava indicando un percorso che ha smesso di esistere. (Stava indicando il percorso in cui abbiamo compilato git e non dove successivamente abbiamo copiato per consentire a chiunque di accedervi)

Abbiamo fatto un:

export GIT_EXEC_PATH=<path_of_/libexec/git-core/>

e risolto.


Grazie. La seconda soluzione funziona per me quando git è installato in una cartella separata.
maxwu,

15

Su CentOS 5.x, l'installazione di curl-devel ha risolto il problema per me.


8
@RyanM: ha funzionato per me. Io yum install curl-devele poi io ./configure, makee make installsul mio codice git. Quindi https: // ha funzionato per me. Questo è su CentOS 5.8
Brett,

13

Ho avuto lo stesso problema e semplice per risolverlo.

Basta disinstallare git e reinstallarlo.

#apt-get remove --purge git-svn git-core
#rm /usr/local/bin/git
#apt-get install git-svn git-core

e tutto funziona bene.

Spero che questo aiuto.


2
Dovresti fare apt-get remove --purge git
sanbor

Questo ha funzionato per me ... disinstallando git come sopra, quindi ottenendo git tarball, costruendolo e installandolo.
visita il

10

Ho avuto lo stesso identico problema e si è ridotto a una dipendenza insoddisfatta, tuttavia, ho provato la soluzione della risposta accettata e non ha funzionato.

Quello che alla fine ha funzionato per me è stato installare tutto quanto segue (questo è RedHat):

sudo yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel

Successivamente, ho eseguito gli altri comandi come specificato e ha funzionato:

./configure
make
sudo make prefix=/usr/local install

Ho estratto l'elenco delle dipendenze direttamente dal sito Web di Git . Apparentemente avrei dovuto iniziare lì: /


5

Questo ha funzionato per me in Centos 6.6 per installare git 2.3.1:

  1. Non avevo installato curl-devel (controllando curl_global_init in -lcurl ... no). La chiave era generare lo script di configurazione

  2. aggiungi rpmforge per docboox2x

  3. installa pacchetti

    yum install openssl-devel zlib-devel perl-ExtUtils-MakeMaker svn tcl perl-Locale-Msgfmt gettext asciidoc xmlto docbook2x
    
  4. crea symlink

    ln -s /usr/bin/db2x_docbook2texi /usr/bin/docbook2x-texi
    
  5. costruire git

    # download latest relase from https://github.com/git/git/releases
    curl -O -J -L https://github.com/git/git/archive/v2.13.0.tar.gz
    tar xf git-2.13.0.tar.gz
    cd git-2.13.0
    make configure
    ./configure --prefix=/usr
    make all doc
    make install install-doc install-html
    

Aspetta un secondo ... il problema è che git clone https: // fallisce. Come lo risolvi clonando la fonte git ??? Chiunque legga questa domanda non sarà in grado di fare il passo 5.
Andrew Lorien,

1
aggiunto l'uso di
ricci

5

Il modo più semplice per risolvere questo problema è assicurarsi che git-coresia aggiunto al pathper l'utente corrente

Se si aggiunge quanto segue al file del profilo bash in ~/.bash_profilequesto, normalmente si dovrebbe risolvere il problema

PATH=$PATH:/usr/libexec/git-core

l'unica soluzione ha funzionato per me è la tua. Per altri puoi anche risolverlo usando al di sopra o usando invece il comando di seguito: / usr / bin / git pull origin master
Ujjawal Khare

Inoltre, assicurati che git-core sia stato costruito con git-remote-https incluso.
Ed Randall,

2

Ho riscontrato questo problema durante l'utilizzo di Capistrano per distribuire un'app Rails. Il problema era che il mio utente aveva solo un accesso alla shell con jail in cpanel. Cambiarlo in un normale accesso alla shell ha risolto il mio problema.


Come può essere risolto mantenendo l'utente imprigionato? Cosa deve essere aggiunto a jk_init.iniunder [git]per risolvere questo problema?
andato il

2

Su Mac OS X 10.9 Mavericks, la soluzione che ha funzionato è la seguente

rvm pkg install openssl
CC=/usr/local/bin/gcc-4.2 CPP=/usr/local/bin/cpp-4.2 CXX=/usr/local/bin/g++-4.2  rvm install 1.9.3 --with-openssl-dir=$rvm_path/usr

Questo per compilare Ruby con il supporto OpenSSL. Quindi, disinstallare tutte le vecchie versioni.

brew uninstall openssl
brew uninstall curl
brew uninstall git

Quindi, installa le versioni aggiornate. L'installazione di git dipende da una versione aggiornata di CURL.

brew install openssl
brew install curl
brew install git

Questo ha funzionato per me ... ha dovuto rimuovere CC=/usr/local/bin/gcc-4.2 CPP=/usr/local/bin/cpp-4.2 CXX=/usr/local/bin/g++-4.2 però e ha utilizzato la versione rubino superiore
Amgad

Su macOS 10.14 (Mojave) la mia soluzione semplice era usare Anaconda che avevo già installato e digitare conda install gitper installare una versione git più recente e pacchetti di dipendenza.
skynaut,

1

Ho avuto molti problemi con questo problema di supporto remoto. Mi sono assicurato di aver installato tutti gli expat, i riccioli ecc., Ma alla fine l'ho risolto aggiornando gcc dopo aver scoperto che la versione 4.4.4 era obsoleta. Ho appena fatto un aggiornamento yum e ricompilato con 4.4.6.


1

Su centos 7:

$ yum install curl-devel
$ yum reinstall git

Per me va bene.


0

Ho avuto lo stesso problema oggi: git http si è rotto dopo anni di felice servizio. Sembra causato da alcuni aggiornamenti di lib Perl. Ho provato alcuni suggerimenti sani sul web, nessuno ha funzionato. Ne ho abbastanza, ho appena rimosso tutto il materiale git, ho ottenuto un nuovo tarball da http://git-scm.com/ , compilato e installato e tutto è tornato alla normalità. Prova, oppure puoi scavare in profondità nei tuoi registri ...


0

Ho dovuto aggiungere un paio di installazioni extra con CentOS versione 5.10 (Final):

yum install openssl097a.x86_64 
yum install openssl-perl.x86_64 

Usando git-1.8.5: ./configure make clean make make install

git clone https://github.com/michaelficarra/CoffeeScriptRedux.git
Cloning into 'CoffeeScriptRedux'...
remote: Reusing existing pack: 4577, done.
remote: Counting objects: 24, done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 4601 (delta 13), reused 11 (delta 1)
Receiving objects: 100% (4601/4601), 2.60 MiB | 126.00 KiB/s, done.
Resolving deltas: 100% (2654/2654), done.
Checking connectivity... done.

0

Sono atterrato qui una volta perché stavo lavorando con Git stesso. Quando l'ho creato, il makefile predefinito ha installato il file binario in ~ / bin / git. Dato che il mio PATH aveva ~ / bin per primo quando ho eseguito 'git pull --rebase' ha usato quello in ~ / bin e di conseguenza non è stato possibile individuare gli helper.

Ho risolto il problema eseguendo '/ usr / bin / git ...' con un percorso completo (in alternativa avrei potuto regolare il mio PERCORSO).


0

Per coloro che utilizzano git con Jenkins in un sistema Windows, è necessario configurare la posizione di git.exe in: Gestisci Jenkins => Configurazione globale dello strumento => Git => Percorso eseguibile di Git e compilare il percorso di git.exe , per esempio; C: \ Programmi \ Git \ bin \ git.exe


0

lavorato

1- Ho dovuto rimuovere git:

sudo apt-get remove git

2- reinstalla git con il suffisso -all:

sudo apt-get install git-all

come indicato qui: https://git-scm.com/book/en/v2/Getting-Started-Installing-Git

3- verificato tutte le impostazioni (nome utente ed e-mail) del mio account github

tra l'altro mi sbagliavo la buona email che era la fonte dei miei errori;) https://github.com/settings/profile
controlla il tuo nome utente
https://github.com/settings/emails
controlla che la tua email sia buona

4- Ho seguito il tutorial di git qui

https://help.github.com/articles/connecting-to-github-with-ssh


0

Nel mio caso nulla ha avuto successo, dopo un po 'guardando cosa stava succedendo ho trovato questo nel mio file di configurazione. Non sono sicuro di come ci sia arrivato

% cat ~/.gitconfig 
[user]
    email = xxxxxxx@gmail.com
    name = xxxxxx
[alias]
    g = grep -n -i --heading --break
[url "git+https://github.com/"]
    insteadOf = git@github.com:
[url "git+https://"]
    insteadOf = git://

Dopo aver rimosso le proprietà dell'URL, tutto funzionava di nuovo bene


0

CentOS Minimal di solito installa la versione 1.8 git tramite yum install gitcomando.

Il modo migliore è costruirlo e installarlo dal codice sorgente. La versione attuale è 2.18.0.

  1. Scarica il codice sorgente da https://mirrors.edge.kernel.org/pub/software/scm/git/ ocurl -o git-2.18.0.tar.gz https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.18.0.tar.gz

  2. Decomprimi tar -zxf git-2.18.0.tar.gz && cd git-2.18.0

  3. Installare il pacchetto di dipendenze eseguendo yum install autoconf curl-devel expat-devel gettext-devel openssl-devel perl-devel zlib-devel asciidoc xmlto openjade perl* texinfo

  4. Installa docbook2X, non è nel repository rpm. Scarica e installa entro

    $ curl -o docbook2X-0.8.8-17.el7.x86_64.rpm http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/d/docbook2X-0.8.8-17.el7.x86_64 .rpm $ rpm -Uvh docbook2X-0.8.8-17.el7.x86_64.rpm

E crea un nome di collegamento unix:

ln -s /usr/bin/db2x_docbook2texi /usr/bin/docbook2x-texi
  1. Compilare e installare, riferimento a https://git-scm.com/book/en/v2/Getting-Started-Installing-Git

    $ make configure $ ./configure --prefix = / usr $ make tutte le informazioni sui documenti $ sudo make install install-doc install-html install-info

  2. Riavvia il server (in caso contrario, potresti riscontrare un Unable to find remote helper for 'https'errore)

    $ riavvia ora

  3. Test:

    $ git clone https://github.com/volnet/v-labs.git $ cd v-labs $ touch test.txt $ git add. $ git commit -m "test git install" $ git push -u


0

Ho riscontrato questo errore su Windows durante l'utilizzo di TortoiseGit. Reinstalla Git per Windows e comunica a TortoiseGit il percorso di git.exe eseguendo nuovamente la procedura guidata Primo avvio.


0

Nel mio caso git --exec-pathpuntava al percorso corretto ed git-remote-httpsesisteva ma non aveva il permesso di esecuzione. Quindi chmod +x git-remote-httprisolto il problema.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.