„Nie można znaleźć zdalnego pomocnika dla„ https ”podczas klonowania git


244

Nie mogę sklonować repozytoriów HTTPS. Mogę dobrze klonować repozytorium SSH, ale nie repozytorium HTTPS. Nie mogę przetestować protokołu GIT, ponieważ jestem za korporacyjną zaporą ogniową.

Oto, co próbuję zrobić:

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

Do tej pory próbowałem następujące (na podstawie wyszukiwań Google)

  • Czyszczenie i instalowanie Git przez apt-get
  • Instalowanie build-depsdla Git poprzezapt-get
  • Instalowanie bibliotek dev curl
  • Instalowanie bibliotek ekspatriantów
  • Pobieranie źródła i budynku Git przy użyciu:
    • ./configure --prefix=/usr --with-curl --with-expat
    • Próbowałem także wskazać config w curl binary ( ./configure --prefix=/usr --with-curl=/usr/bin/curl)

Próbowałem wszystkiego, co mogę znaleźć w Internecie bez powodzenia. Czy ktoś może mi pomóc?

Wersja Git = 1.7.6.4

OS = Ubuntu 11.04


Przykro nam, że to oczywiste, wygląda na to, że curl nie jest zainstalowany. zrób curl --helpi zobacz, czy tak jest.
Mike Jones

Po uruchomieniu curl --help otrzymuję listę opcji zwijania.
Ben K

1
Wiem, jak wspomniałem na początku mojego pytania, przejrzałem każdy wynik, jaki mogę znaleźć w Google. Do tej pory nic nie działało!
Ben K

2
Mam ten sam problem. Jestem także za korporacyjną zaporą ogniową. Próbowałem ponownie skompilować ze wszystkimi opcjami znalezionymi w Internecie, ale w ogóle nie działałem. Jakiś inny pomysł?

1
Zabawne jest to, że próbuję sklonować z githuba curl, aby móc go skompilować na zamkniętym polu Solaris $ & #% ^ *.
makhdumi

Odpowiedzi:


290

Wygląda na to, że nie ma zainstalowanego (lib) curl-devel podczas kompilacji git, może to powodować.

Jeśli zainstalujesz (lib) curl-devel, a następnie przebudujesz / zainstalujesz git, powinno to rozwiązać problem:

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

To działało dla mnie w Centos 6.3.

Jeśli nie masz mniam, możesz pobrać źródło do curl-devel tutaj:


Jeśli zamiast tego używasz Ubuntu:

sudo apt-get install libcurl4-openssl-dev 

4
te kroki zadziałały dla mnie. CentOS 5.8 32-bitowy; git wersja 1.8.0
Vikram

1
Pracowałem dla mnie CentOS 6.4 i git 1.8.2.1
JoxTraex

18
W systemie Ubuntu 12.04 LTS potrzebowałem pakietu:sudo apt-get install libcurl4-openssl-dev
Michael Burr

2
Na Ubuntu 10.04 LTS pakiet, którego potrzebowałem, to: sudo aptitude install libcurl4-openssl-devapt-get ma problem z zależnością i wydaje się, że aptitude może go rozwiązać
wenchiching

1
Miałem ten problem, ponieważ pracowałem nad samym git i wykonałem polecenie „make install” w moim katalogu ~ / bin. Moja ŚCIEŻKA odebrała ~ / bin / git, który napotkał błąd. Użycie / usr / bin / git rozwiązało problem.
qneill

71

Jeśli próbujesz sklonować, możesz użyć transportu git

Na przykład: 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
Dzięki za radę. Niestety pracuję za korporacyjną zaporą sieciową, która blokuje port protokołu git i nie otwierają go dla mnie. Pobieram tarballi, aby obejść ten problem, ale naprawdę chciałbym, aby moja instalacja git działała poprawnie!
Ben K

4
Jak wspomnieli inni, git: // zwykle nie jest idealny, ale najwyraźniej jeśli znajdujesz się w sytuacji, w której https: // po prostu nie działa, możesz użyć git config --global url."git://".insteadof https://siły, gitaby zawsze używać git: // zamiast https : //. Może to być przydatne, jeśli próbujesz sklonować submoduły (np. Za pomocą --recursive).
fakedad

Idealny. Nie mogłem zainstalować niczego w mojej chmurze QNAP, ale działało to jak urok!
Phil Roggenbuck

45

Na wypadek, gdyby ktoś napotkał to w systemie QNAP lub innym systemie z OPKG jako menedżerem pakietów:

Musisz zainstalować git-http wraz z git. Lubić:

opkg install git-http

3
Uratowałeś mi dzień! To jest dokładnie moja sprawa. Używam „entware” w systemie Xpeonology, aby uzyskać więcej pakietów oprogramowania Linux, a po „opkg install git”, „git clone https: //” zawiedzie z błędem: fatal: Nie można znaleźć zdalnego pomocnika dla „https „. Dziękujemy za wzmiankę o tym pakiecie „git-http”.
zerox

Dzięki, zrozumiałem problem, ale nie wiedziałem, co to za pakiet, który pozwoliłby gitowi pobrać dane http zamiast danych ssh.
erichlf,

43

Użyłem „ git://” zamiast „ https://” i to rozwiązało problem. Moje ostatnie polecenie brzmiało:

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

16
Jest to obejście, a nie rozwiązanie. Będzie działał w przypadku repozytoriów, ale nie w przypadku mansów, a nie OP dla jego zapory firmowej.
Patrick Fisher

Oznacza to również, że nie możesz niczego naciskać
Phil

@cecheverria: github nie akceptuje push over git.
user2284570,

2
@PatrickFisher Ale to czyni pracę w środowiskach, w których nie mają praw do instalowania biblioteki curl-devel i / lub administratora, nie będzie zainstalować je natychmiast.
squipbar 13.07.16

16

W naszym przypadku problem został rozwiązany po sprawdzeniu

git --exec-path

wskazywał na ścieżkę, która przestała istnieć. (Wskazywał na ścieżkę, w której skompilowaliśmy git, a nie tam, gdzie później skopiowaliśmy, aby każdy miał do niego dostęp)

Zrobiliśmy:

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

i rozwiązany.


Dzięki. Drugie rozwiązanie działa dla mnie, gdy git jest zainstalowany w osobnym folderze.
maxwu

15

Na CentOS 5.x instalacja curl-devel naprawiła dla mnie problem.


8
@RyanM: To zadziałało dla mnie. Ja yum install curl-develi wtedy ./configure, makei make installna moim git kodu. Wtedy https: // działało dla mnie. To jest na CentOS 5.8
Brett

13

Miałem ten sam problem i łatwo go rozwiązać.

Po prostu odinstaluj git i zainstaluj go ponownie.

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

i wszystko działa dobrze.

Mam nadzieję, że to pomoże.


2
Powinieneś zrobić apt-get remove --purge git
sanbor

To działało dla mnie ... odinstalowanie git jak wyżej, a następnie pobranie tar git, zbudowanie i zainstalowanie go.
dołączenie

10

Miałem dokładnie ten sam problem i sprowadzało się to do niespełnionej zależności, jednak spróbowałem rozwiązania przyjętej odpowiedzi i nie zadziałało.

To, co w końcu zadziałało, to zainstalowanie wszystkich następujących elementów (to jest RedHat):

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

Następnie uruchomiłem inne polecenia zgodnie z opisem i zadziałało:

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

Wyciągnąłem listę zależności bezpośrednio ze strony internetowej Git . Najwyraźniej powinienem tam zacząć: /


5

To działało dla mnie w Centos 6.6, aby zainstalować git 2.3.1:

  1. Nie miałem zainstalowanego curl-devel (sprawdzanie curl_global_init w -lcurl ... nie). Kluczem było wygenerowanie skryptu konfiguracji

  2. dodaj rpmforge dla docboox2x

  3. instaluj pakiety

    yum install openssl-devel zlib-devel perl-ExtUtils-MakeMaker svn tcl perl-Locale-Msgfmt gettext asciidoc xmlto docbook2x
    
  4. zrobić dowiązanie symboliczne

    ln -s /usr/bin/db2x_docbook2texi /usr/bin/docbook2x-texi
    
  5. zbuduj 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
    

Poczekaj sekundę ... Problem polega na tym, że klon git https: // kończy się niepowodzeniem. Jak to naprawić, klonując źródło git ??? Nikt,
kto

1
dodano użycie loków i smoły
rofrol

5

Najłatwiejszym sposobem rozwiązania tego problemu jest upewnienie się, że git-corezostał dodany do pathbieżącego użytkownika

Jeśli dodasz następujące elementy do pliku profilu bash, ~/.bash_profilepowinno to normalnie rozwiązać problem

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

jedynym działającym dla mnie rozwiązaniem jest twoje. W przypadku innych możesz to naprawić za pomocą polecenia powyżej lub zamiast tego: / usr / bin / git pull origin master
Ujjawal Khare

Upewnij się także, że Twój git-core został zbudowany z dołączonym git-remote-https.
Ed Randall

2

Miałem ten problem, gdy używałem Capistrano do wdrożenia aplikacji Railsowej. Problem polegał na tym, że mój użytkownik miał dostęp do więziennej powłoki tylko w cpanelu. Zmiana na normalny dostęp do powłoki rozwiązała mój problem.


Jak można to naprawić, trzymając użytkownika w więzieniu? Co należy dodać do jk_init.iniunder, [git]aby to naprawić?
odszedł

2

W systemie Mac OS X 10.9 Mavericks zadziałało następujące rozwiązanie

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

Ma to na celu skompilowanie Ruby z obsługą OpenSSL. Następnie odinstaluj wszystkie stare wersje.

brew uninstall openssl
brew uninstall curl
brew uninstall git

Następnie zainstaluj zaktualizowane wersje. Instalacja git zależy od zaktualizowanej wersji CURL.

brew install openssl
brew install curl
brew install git

To działało dla mnie ... musiałem jednak usunąć CC=/usr/local/bin/gcc-4.2 CPP=/usr/local/bin/cpp-4.2 CXX=/usr/local/bin/g++-4.2 i użyłem wyższej wersji ruby
Amgad

W systemie macOS 10.14 (Mojave) moim prostym rozwiązaniem było użycie Anacondy, którą już zainstalowałem, i wpisanie, conda install gitaby zainstalować nowszą wersję git i pakiety zależności.
skynaut,

1

Miałem wiele problemów z tym zdalnym pomocnikiem. Upewniłem się, że zainstalowałem wszystkie emotki, curl itp., Ale w końcu to rozwiązałem, aktualizując gcc po stwierdzeniu, że wersja 4.4.4 była duff. Właśnie zrobiłem mniam aktualizację i ponownie skompilowałem z 4.4.6.



0

Mam dzisiaj ten sam problem: git http zepsuty po latach udanej usługi. Wydaje się, że jest to spowodowane niektórymi aktualizacjami lib Perla. Próbowałem pewnych rozsądnych sugestii w Internecie, żadna nie działała. Miałem dość, właśnie usunąłem wszystkie rzeczy z git, otrzymałem nowy plik tar z http://git-scm.com/ , skompilowałem i zainstalowałem i wszystko wróciło do normy. Spróbuj, albo możesz zagłębić się głęboko w swoje dzienniki ...


0

Musiałem dodać kilka dodatkowych instalacji z systemem CentOS w wersji 5.10 (wersja ostateczna):

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

Używając 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

Wylądowałem tu raz, ponieważ pracowałem z samym git. Kiedy go zbudowałem, domyślny plik makefile zainstalował plik binarny w ~ / bin / git. Ponieważ moja PATH miała ~ / bin jako pierwszy, kiedy uruchomiłem 'git pull --rebase', użyłem tego w ~ / bin iw konsekwencji nie mogłem zlokalizować pomocników.

Obejrzałem ten problem, uruchamiając „/ usr / bin / git ...” z pełną ścieżką (alternatywnie mogłem dostosować moją ŚCIEŻKĘ).


0

Jeśli używasz git z Jenkins w systemie Windows, musisz skonfigurować lokalizację git.exe w: Zarządzaj Jenkins => Globalna konfiguracja narzędzia => Git => Ścieżka do pliku wykonywalnego Git i podaj ścieżkę do git.exe , na przykład; C: \ Program Files \ Git \ bin \ git.exe


0

pracował

1- Musiałem usunąć git:

sudo apt-get remove git

2- ponownie zainstaluj git z przyrostkiem -all:

sudo apt-get install git-all

jak tutaj nauczono: https://git-scm.com/book/en/v2/Getting-Started-Installing-Git

3 - sprawdziłem wszystkie ustawienia (nazwa użytkownika i adres e-mail) mojego konta github

przy okazji pomyliłem dobry e-mail, który był źródłem moich błędów;) https://github.com/settings/profile
sprawdź swoją nazwę użytkownika
https://github.com/settings/emails
sprawdź, czy twój e-mail jest dobry

4- Wykonałem samouczek git tutaj

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


0

W moim przypadku nic nie zakończyło się powodzeniem, po chwili sprawdzania, co się dzieje, znalazłem to w pliku konfiguracyjnym. Nie jestem pewien, jak się tam dostało

% 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://

Po usunięciu właściwości adresu URL wszystko znów działało dobrze


0

CentOS Minimal zazwyczaj instaluje wersję 1.8 git przez yum install git polecenia.

Najlepszym sposobem jest zbudowanie i zainstalowanie go z kodu źródłowego. Obecna wersja to 2.18.0.

  1. Pobierz kod źródłowy z https://mirrors.edge.kernel.org/pub/software/scm/git/ lubcurl -o git-2.18.0.tar.gz https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.18.0.tar.gz

  2. Rozpakuj przez tar -zxf git-2.18.0.tar.gz && cd git-2.18.0

  3. Zainstaluj pakiet zależności, wykonując yum install autoconf curl-devel expat-devel gettext-devel openssl-devel perl-devel zlib-devel asciidoc xmlto openjade perl* texinfo

  4. Zainstaluj docbook2X, nie ma go w repozytorium rpm. Pobierz i zainstaluj przez

    $ 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

I stwórz nazwę linku unix:

ln -s /usr/bin/db2x_docbook2texi /usr/bin/docbook2x-texi
  1. Skompiluj i zainstaluj, odwołaj się do https://git-scm.com/book/en/v2/Getting-Started-Installing-Git

    $ make config $ ./configure --prefix = / usr $ make all doc info $ sudo make install install-doc install-html install-info

  2. Uruchom ponownie serwer (jeśli nie, możesz napotkać Unable to find remote helper for 'https'błąd)

    $ zrestartuj teraz

  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

Wystąpił ten błąd w systemie Windows podczas korzystania z TortoiseGit. Ponowna instalacja Git dla Windows i przekazanie TortoiseGit ścieżki do git.exe poprzez ponowne uruchomienie Kreatora pierwszego uruchomienia naprawiło to.


0

W moim przypadku git --exec-pathwskazywał prawidłową ścieżkę i git-remote-httpsistniał, ale nie miał pozwolenia na wykonanie. chmod +x git-remote-httpNaprawiono więc problem.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.