"Remote-Helfer für 'https' konnte nicht gefunden werden" während des Git-Klons

244

Ich kann keine HTTPS-Repositorys klonen. Ich kann SSH-Repos gut klonen, aber keine HTTPS-Repos. Ich kann das GIT-Protokoll nicht testen, da ich mich hinter einer Unternehmensfirewall befinde.

Das versuche ich zu tun:

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

Ich habe bisher Folgendes versucht (basierend auf Google-Suchen)

  • Git löschen und installieren durch apt-get
  • Installation build-depsfür Git durchapt-get
  • Installieren von Curl Dev-Bibliotheken
  • Expat-Bibliotheken installieren
  • Herunterladen der Git-Quelle und Erstellen mit:
    • ./configure --prefix=/usr --with-curl --with-expat
    • Es wurde auch versucht, configure auf curl binary ( ./configure --prefix=/usr --with-curl=/usr/bin/curl) zu zeigen.

Ich habe alles versucht, was ich im Internet finden kann, ohne Glück. Kann mir jemand helfen?

Git-Version = 1.7.6.4

OS = Ubuntu 11.04

Ben K.
quelle
Es tut mir leid, dass es offensichtlich ist, dass Curl nicht installiert ist. tun curl --helpund sehen, ob es ist.
Mike Jones
Ich erhalte eine Liste der Curl-Optionen zurück, wenn ich curl --help ausführe.
Ben K
1
Ich weiß, wie ich oben in meiner Frage erwähnt habe, habe ich jedes Ergebnis durchgesehen, das ich in Google finden kann. Bisher hat nichts funktioniert!
Ben K
2
Ich habe das gleiche Problem. Ich bin auch hinter einer Unternehmensfirewall. Ich habe versucht, mit allen im Internet gefundenen Optionen neu zu kompilieren, aber es funktioniert überhaupt nicht. Irgendeine andere Idee?
1
Das Komische ist, ich versuche, aus Curls Github zu klonen, damit ich es auf einer gesperrten $ & #% ^ * Solaris-Box kompilieren kann.
Makhdumi

Antworten:

290

Es sieht so aus, als ob (lib) curl-devel nicht installiert ist, wenn Sie git kompilieren. Dies kann dies verursachen.

Wenn Sie (lib) curl-devel installieren und dann git neu erstellen / installieren, sollte dies das Problem lösen:

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

Dies funktionierte bei mir auf Centos 6.3.

Wenn Sie kein Yum haben, können Sie die Quelle zum Curl-Devel hier herunterladen:


Wenn Sie stattdessen Ubuntu ausführen:

sudo apt-get install libcurl4-openssl-dev 
TastyCode
quelle
4
Diese Schritte haben bei mir funktioniert. CentOS 5.8 32 Bit; Git Version 1.8.0
Vikram
1
Arbeitete für mich CentOS 6.4 und Git 1.8.2.1
JoxTraex
18
Unter Ubuntu 12.04 LTS brauchte ich Folgendes:sudo apt-get install libcurl4-openssl-dev
Michael Burr
2
Unter Ubuntu 10.04 LTS war das Paket, das ich brauchte: sudo aptitude install libcurl4-openssl-devapt-get hat ein Abhängigkeitsproblem und aptitude scheint es lösen zu können
wenchiching
1
Ich hatte dieses Problem, weil ich an Git selbst arbeitete und eine "make install" in meinem ~ / bin-Verzeichnis durchgeführt hatte. Mein PATH hat ~ / bin / git gefunden, bei dem der Fehler aufgetreten ist. Die Verwendung von / usr / bin / git löste das Problem.
Qneill
71

Wenn Sie versuchen zu klonen, können Sie den Git-Transport verwenden

Beispielsweise: 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
Thillai Narayanan
quelle
3
Danke für deinen Rat. Leider arbeite ich hinter einer Unternehmensfirewall, die den Port des Git-Protokolls blockiert und ihn nicht für mich öffnet. Ich habe Tarballs heruntergeladen, um das Problem zu umgehen, aber ich möchte wirklich, dass meine Installation von Git richtig funktioniert!
Ben K
4
Wie andere bereits erwähnt haben, ist git: // normalerweise nicht ideal. Wenn Sie sich jedoch in einer Situation befinden, in der https: // einfach nicht funktioniert, können Sie git config --global url."git://".insteadof https://zwingen git, immer git: // anstelle von https zu verwenden : //. Dies kann nützlich sein, wenn Sie versuchen, mit Submodulen (z --recursive. B. mit ) zu klonen .
Fakedad
Perfekt. Ich konnte nichts in meiner QNAP-Cloud installieren, aber das funktionierte wie ein Zauber!
Phil Roggenbuck
45

Nur für den Fall, dass jemand auf einem QNAP-System oder einem anderen System mit OPKG als Paketmanager darauf stößt:

Sie müssen git-http zusammen mit git installieren. Mögen:

opkg install git-http
CWBudde
quelle
3
Du hast meinen Tag gerettet! Das ist genau mein Fall. Ich verwende "entware" auf einem Xpeonology-System, um weitere Linux-Softwarepakete zu erhalten. Nach "opkg install git" schlägt der "git-Klon https: //" mit dem folgenden Fehler fehl: fatal: Remote-Helfer für 'https' konnte nicht gefunden werden '. Vielen Dank, dass Sie dieses "git-http" -Paket erwähnt haben.
Zerox
Vielen Dank, ich habe das Problem verstanden, wusste aber nicht, welches Paket es git ermöglichen würde, http-Daten anstelle von ssh-Daten abzurufen.
Erichlf
43

Ich habe " git://" statt " https://" verwendet und das hat das Problem gelöst. Mein letzter Befehl war:

git clone --recursive git://github.com/ceph/ceph.git
Cecheverria
quelle
16
Dies ist eine Problemumgehung, keine Lösung. Es funktioniert für Repos, aber nicht für das Wesentliche, und aufgrund seiner Unternehmens-Firewall nicht für das OP.
Patrick Fisher
Und es bedeutet auch, dass Sie nichts schieben können
Phil
@cecheverria: Github akzeptiert kein Push-Over-Git.
user2284570
2
@PatrickFisher Aber es funktioniert in Umgebungen, in denen Sie nicht die Rechte zum Installieren der Curl-Devel-Bibliotheken haben und / oder der Sysadmin sie nicht sofort installiert.
Squipbar
16

In unserem Fall wurde das Problem bei der Überprüfung behoben

git --exec-path

zeigte auf einen Pfad, der aufhörte zu existieren. (Es zeigte auf den Pfad, auf dem wir git kompiliert haben, und nicht auf den Pfad, den wir anschließend kopiert haben, damit jeder darauf zugreifen kann.)

Wir haben ein:

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

und gelöst.

Pedro Reis
quelle
Vielen Dank. Die 2. Lösung funktioniert für mich, wenn git in einem separaten Ordner installiert ist.
Maxwu
15

Unter CentOS 5.x hat die Installation von Curl-Devel das Problem für mich behoben.

Ron
quelle
8
@ RyanM: Das hat bei mir funktioniert. Ich yum install curl-develund dann ich ./configure, makeund make installauf meinem Git-Code. Dann hat https: // für mich funktioniert. Dies ist auf CentOS 5.8
Brett
13

Ich hatte das gleiche Problem und war einfach zu lösen.

Deinstallieren Sie einfach git und installieren Sie es erneut.

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

und alles funktioniert gut.

Ich hoffe das hilft.

thehuyvb
quelle
2
Sie sollten apt-get remove --purge git
sanbor
Das hat bei mir funktioniert ... git wie oben deinstallieren, dann den git tarball holen, bauen und installieren.
Joeking
10

Ich hatte genau das gleiche Problem und es lief auf eine unerfüllte Abhängigkeit hinaus, aber ich versuchte die Lösung der akzeptierten Antwort und es funktionierte nicht.

Was schließlich für mich funktioniert hat, war die Installation aller folgenden Elemente (dies ist RedHat):

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

Danach habe ich die anderen Befehle wie angegeben ausgeführt und es hat funktioniert:

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

Ich habe die Liste der Abhängigkeiten direkt von Gits Website abgerufen . Anscheinend hätte ich dort anfangen sollen: /

Topher Fangio
quelle
5

Dies funktionierte für mich in Centos 6.6, um Git 2.3.1 zu installieren:

  1. Ich hatte curl-devel nicht installiert (nach curl_global_init in -lcurl suchen ... nein). Der Schlüssel war, ein Konfigurationsskript zu generieren

  2. füge rpmforge für docboox2x hinzu

  3. Pakete installieren

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

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

    # 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
    
Rofrol
quelle
Warten Sie eine Sekunde ... das Problem ist, dass der Git-Klon https: // fehlschlägt. Wie behebt man das, indem man die Git-Quelle klont? Jeder, der diese Frage liest, kann Schritt 5
nicht ausführen
1
Curl und Teer Verwendung hinzugefügt
Rofrol
5

Der einfachste Weg, um dieses Problem zu beheben, besteht darin, sicherzustellen, dass git-coredas pathfür Ihren aktuellen Benutzer hinzugefügt wird

Wenn Sie Ihrer Bash-Profildatei Folgendes hinzufügen, ~/.bash_profilesollte dies normalerweise das Problem beheben

PATH=$PATH:/usr/libexec/git-core
Ruckeln
quelle
Die einzige Lösung, die für mich funktioniert hat, ist Ihre. Für andere können Sie es auch mit dem obigen oder dem folgenden Befehl beheben: / usr / bin / git Pull Origin Master
Ujjawal Khare
Stellen Sie außerdem sicher, dass Ihr Git-Core mit Git-Remote-https erstellt wurde.
Ed Randall
2

Ich hatte dieses Problem, als ich mit capistrano eine Rails-App bereitstellte. Das Problem war, dass mein Benutzer nur einen eingeschränkten Shell-Zugriff in cpanel hatte. Das Ändern auf normalen Shell-Zugriff hat mein Problem behoben.

Metralha
quelle
Wie kann dies behoben werden, während der Benutzer im Gefängnis bleibt? Was muss hinzugefügt werden jk_init.iniunter [git]dieses Problem beheben?
gegangen
2

Unter Mac OS X 10.9 Mavericks hat die Lösung wie folgt funktioniert

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

Dies dient zum Kompilieren von Ruby mit OpenSSL-Unterstützung. Als nächstes deinstallieren Sie alle alten Versionen.

brew uninstall openssl
brew uninstall curl
brew uninstall git

Installieren Sie als Nächstes die aktualisierten Versionen. Die Git-Installation hängt von einer aktualisierten Version von CURL ab.

brew install openssl
brew install curl
brew install git
Nick Woodhams
quelle
Dies funktionierte für mich ... musste allerdings entfernen CC=/usr/local/bin/gcc-4.2 CPP=/usr/local/bin/cpp-4.2 CXX=/usr/local/bin/g++-4.2 und verwendete eine höhere
Rubinversion
Unter macOS 10.14 (Mojave) bestand meine einfache Lösung darin, Anaconda zu verwenden, das ich bereits installiert hatte, und zu tippen conda install git, um eine neuere Git-Version und Abhängigkeitspakete zu installieren.
Skynaut
1

Ich hatte viele Probleme mit diesem Remote-Helfer-Problem. Ich stellte sicher, dass ich alle Expats, Curl usw. installiert hatte, löste es aber schließlich durch Aktualisieren von gcc, nachdem ich festgestellt hatte, dass Version 4.4.4 duff war. Habe gerade ein leckeres Update gemacht und mit 4.4.6 neu kompiliert.

user1164594
quelle
1

Auf Centos 7:

$ yum install curl-devel
$ yum reinstall git

Das ist für mich in Ordnung.

Johan Morales
quelle
0

Ich habe heute das gleiche Problem: git http ist nach Jahren des glücklichen Dienstes kaputt gegangen. Es scheint durch einige Perl lib-Updates verursacht zu sein. Versuchte einige vernünftige Vorschläge im Web, keiner funktionierte. Hatte genug, ich habe gerade alles Git-Zeug entfernt, einen neuen Tarball von http://git-scm.com/ bekommen , kompiliert und installiert, und alle Dinge sind wieder normal. Probieren Sie es aus, oder Sie können tief in Ihre Protokolle graben ...

Wen Bian
quelle
0

Ich musste einige zusätzliche Installationen hinzufügen, auf denen CentOS Release 5.10 (Final) ausgeführt wurde:

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

Verwenden von 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.
Jarle Drivenes
quelle
0

Ich bin einmal hier gelandet, weil ich mit Git selbst gearbeitet habe. Als ich es erstellt habe, hat das Standard-Makefile die Binärdatei in ~ / bin / git installiert. Da mein PATH zuerst ~ / bin hatte, als ich 'git pull --rebase' ausführte, verwendete er den in ~ / bin und konnte folglich die Helfer nicht finden.

Ich habe das Problem umgangen, indem ich '/ usr / bin / git ...' mit einem vollständigen Pfad ausgeführt habe (alternativ hätte ich meinen PATH anpassen können).

qneill
quelle
0

Für diejenigen, die git mit Jenkins unter einem Windows-System verwenden, müssen Sie den Speicherort von git.exe unter: Jenkins verwalten => Globale Toolkonfiguration => Git => Pfad zur ausführbaren Git-Datei konfigurieren und den Pfad zu git.exe eingeben , beispielsweise; C: \ Programme \ Git \ bin \ git.exe

posix99
quelle
0

hat funktioniert

1- Ich musste Git entfernen:

sudo apt-get remove git

2- git mit dem Suffix -all neu installieren:

sudo apt-get install git-all

wie hier gelehrt: https://git-scm.com/book/en/v2/Getting-Started-Installing-Git

3- Alle Einstellungen (Benutzername & E-Mail) meines Github-Kontos überprüft

Übrigens habe ich mich geirrt, die gute E-Mail, die die Ursache meiner Fehler war;) https://github.com/settings/profile
Überprüfen Sie Ihren Benutzernamen
https://github.com/settings/emails
Überprüfen Sie, ob Ihre E-Mail die gute ist

4- Ich habe das Tutorial von Git hier befolgt

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

Marcdahan
quelle
0

In meinem Fall war nichts erfolgreich, nachdem ich eine Weile nachgesehen hatte, was geschah, fand ich dies in meiner Konfigurationsdatei. Ich bin mir nicht sicher, wie es dahin gekommen ist

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

Nach dem Entfernen der URL-Eigenschaften funktionierte alles wieder einwandfrei

Bruno Manzo
quelle
0

CentOS Minimal installiert normalerweise Version 1.8 Git per yum install gitBefehl.

Der beste Weg ist, es aus dem Quellcode zu erstellen und zu installieren. Aktuelle Version ist 2.18.0.

  1. Laden Sie den Quellcode von https://mirrors.edge.kernel.org/pub/software/scm/git/ oder heruntercurl -o git-2.18.0.tar.gz https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.18.0.tar.gz

  2. Entpacken mit tar -zxf git-2.18.0.tar.gz && cd git-2.18.0

  3. Installieren Sie das Abhängigkeitspaket durch Ausführen yum install autoconf curl-devel expat-devel gettext-devel openssl-devel perl-devel zlib-devel asciidoc xmlto openjade perl* texinfo

  4. Installieren Sie docbook2X, es befindet sich nicht im RPM-Repository. Herunterladen und installieren von

    $ 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

Und machen Sie einen Unix-Linknamen:

ln -s /usr/bin/db2x_docbook2texi /usr/bin/docbook2x-texi
  1. Kompilieren und installieren Sie unter https://git-scm.com/book/en/v2/Getting-Started-Installing-Git

    $ make configure $ ./configure --prefix = / usr $ make alle Dokumentinformationen $ sudo make install install-doc install-html install-info

  2. Starten Sie Ihren Server neu (Wenn nicht, kann ein Unable to find remote helper for 'https'Fehler auftreten)

    $ jetzt neu starten

  3. Prüfung:

    $ git Klon https://github.com/volnet/v-labs.git $ cd v-labs $ touch test.txt $ git hinzufügen. $ git commit -m "test git install" $ git push -u

Eric Kung
quelle
0

Ich habe diesen Fehler unter Windows bei der Verwendung von TortoiseGit erhalten. Durch die Neuinstallation von Git für Windows und die Benachrichtigung von TortoiseGit über den Pfad zu git.exe durch erneutes Ausführen des Assistenten für den ersten Start wurde das Problem behoben.

Matthew
quelle
0

In meinem Fall git --exec-pathzeigte auf den richtigen Pfad und git-remote-httpsexistierte, hatte aber keine Ausführungsberechtigung. Also chmod +x git-remote-httpdas Problem behoben.

nicolausJa
quelle