"Неможливо знайти віддаленого помічника для" https "під час клонування git


244

Я не можу клонувати сховища HTTPS. Я можу клонувати штрафи SSH repos, але не HTTPS repos. Я не можу перевірити протокол GIT, оскільки я стояв за корпоративним брандмауером.

Це те, що я намагаюся зробити:

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

Я до цього часу спробував таке (на основі пошукових запитів Google)

  • Чистка та встановлення Git through apt-get
  • Встановлення build-depsдля Git throughapt-get
  • Встановлення бібліотек curl dev
  • Встановлення бібліотек expat
  • Завантаження джерела Git та створення за допомогою:
    • ./configure --prefix=/usr --with-curl --with-expat
    • Також спробували налаштувати вказівку на бінарний curl ( ./configure --prefix=/usr --with-curl=/usr/bin/curl)

Я спробував усе, що можу знайти в Інтернеті, не пощастивши. Хтось може мені допомогти?

Версія Git = 1.7.6.4

ОС = Ubuntu 11.04


На жаль, очевидно, здається, що завитка не встановлена. зробіть curl --helpі подивіться, чи це так.
Майк Джонс

Я повертаю список варіантів завитків, коли запускаю curl --help.
Бен К

1
Я знаю, як я вже згадував у верхній частині свого питання, я пережив усі результати, які можу знайти в Google. Досі нічого не працювало!
Бен К

2
У мене те саме питання. Я також за корпоративним брандмауером. Я намагався перекомпілювати всі варіанти, знайдені в Інтернеті, але не працював взагалі. Будь-яка інша ідея?

1
Найсмішніше, що я намагаюся клонуватися з github curl, щоб я міг компілювати його у заблокованому вікні $ & #% ^ * Solaris.
махдумі

Відповіді:


290

Схоже, не встановлення (lib) curl-devel під час компіляції git може спричинити це.

Якщо встановити (lib) curl-devel, а потім відновити / встановити git, це повинно вирішити проблему:

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

Це працювало для мене на Centos 6.3.

Якщо у вас немає yum, ви можете завантажити джерело для curl-devel тут:


Якщо ви замість цього використовуєте Ubuntu:

sudo apt-get install libcurl4-openssl-dev 

4
ці кроки працювали на мене. CentOS 5.8 32-бітний; git версія 1.8.0
Vikram

1
Працював для мене CentOS 6.4 та git 1.8.2.1
JoxTraex

18
У Ubuntu 12.04 LTS потрібний мені пакет був:sudo apt-get install libcurl4-openssl-dev
Майкл Берр

2
У Ubuntu 10.04 LTS потрібний мені пакет: sudo aptitude install libcurl4-openssl-devapt-get має проблему залежності, і здатність, здається, може вирішити її
wenchiching

1
У мене була ця проблема, тому що я працював над самим git і зробив "make install" у своєму каталозі ~ / bin. Мій PATH виявив ~ / bin / git, який виявив помилку. Використання / usr / bin / git вирішило проблему.
qneill

71

Якщо ви намагаєтесь клонувати, то ви можете скористатися транспортом git

Наприклад: 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
Дякую за вашу пораду. На жаль, я працюю за корпоративним брандмауером, який блокує порт протоколу git, і вони не відкриють його для мене. Я завантажував тарболи, щоб обійти проблему, але дуже хотів би, щоб моя установка git працювала належним чином!
Бен К

4
Як вже згадували інші, git: // зазвичай не є ідеальним, але, мабуть, якщо ви потрапляєте в ситуацію, коли https: // просто не буде працювати, ви можете використовувати, git config --global url."git://".insteadof https://щоб змусити gitзавжди використовувати git: // замість https : //. Це може бути корисно, якщо ви намагаєтесь клонувати субмодули (наприклад, з --recursive).
підроблений

Ідеально. Я не міг нічого встановити на мою хмару QNAP, але це працювало як шарм!
Філ

45

Про всяк випадок, якщо хтось стикається з цим у системі QNAP або будь-якій іншій системі з OPKG як менеджером пакетів:

Вам потрібно встановити git-http разом із git. Подібно до:

opkg install git-http

3
Ти врятував мій день! Це саме мій випадок. Я використовую "entware" у системі Xpeonology, щоб отримати більше програмних пакетів Linux, а після "opkg встановити git" "git клон https: //" не вдасться з помилкою: fatal: Неможливо знайти віддаленого помічника для "https '. Дякуємо, що згадали про цей пакет "git-http".
zerox

Дякую, я зрозумів проблему, але не знав, що таке пакет, який дозволить git захоплювати дані http замість даних ssh.
erichlf

43

Я використовував " git://" замість " https://", і це вирішило проблему. Моєю остаточною командою було:

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

16
Це рішення, а не рішення. Він працюватиме для репостів, але не для суті, а не для ОП завдяки своєму корпоративного брандмауеру.
Патрік Фішер

А це також означає, що ви нічого не можете натиснути
Філ

@cecheverria: github не приймає push over git.
користувач2284570

2
@PatrickFisher Але це робить роботу в умовах , коли ви не маєте права на установку бібліотеки завиток-Devel і / або сисадміну не встановлюватиме їх в найкоротші терміни.
шпонка

16

У нашому випадку проблема була виправлена ​​під час перевірки

git --exec-path

вказував на шлях, який перестав існувати. (Це вказувало на шлях, де ми склали git, а не куди ми скопіювали згодом, щоб хтось мав доступ до нього)

Ми зробили:

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

і вирішено.


Дякую. 2-е рішення працює для мене, коли git встановлений в окремій папці.
maxwu

15

На CentOS 5.x встановлення curl-devel вирішило проблему для мене.


8
@RyanM: Це працювало для мене. Я yum install curl-develі тоді я ./configure, makeі make installна моєму мерзотника коді. Потім https: // працював на мене. Це на CentOS 5.8
Бретт

13

У мене була така ж проблема і просто її вирішити.

Просто видаліть git та встановіть його знову.

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

і все працює добре.

Сподіваюся, що це допоможе.


2
Вам слід зробити apt-get remove --purge git
sanbor

Це працювало для мене ... видалення git, як вище, потім отримання git tarball, створення та встановлення.
жартує

10

У мене було саме таке питання, і воно зводилося до невдалої залежності, проте я спробував прийняти відповідь, і це не вийшло.

Нарешті для мене вдалося встановити все наступне (це RedHat):

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

Після цього я запустив інші команди, як зазначено, і вони спрацювали:

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

Я витягнув список залежностей безпосередньо з веб-сайту Git . Мабуть, я мав би почати там: /


5

Це працювало для мене в Centos 6.6, щоб встановити git 2.3.1:

  1. У мене не було встановлено curl-devel (перевірка наявності curl_global_init в -lcurl ... ні). Ключовим моментом було створення сценарію налаштування

  2. додати rpmforge для docboox2x

  3. встановити пакети

    yum install openssl-devel zlib-devel perl-ExtUtils-MakeMaker svn tcl perl-Locale-Msgfmt gettext asciidoc xmlto docbook2x
    
  4. зробити симпосилання

    ln -s /usr/bin/db2x_docbook2texi /usr/bin/docbook2x-texi
    
  5. будувати 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
    

Зачекайте секунду ... проблема полягає в тому, що git-клон https: // не вдається. Як ви це виправляєте, клонуючи джерело git ??? Усі, хто читає це запитання, не зможуть зробити крок 5.
andrew lorien

1
додано використання curl and tar
rofrol

5

Найпростіший спосіб виправити цю проблему - це забезпечити git-coreдодавання до pathпоточного користувача

Якщо ви додасте наступне до файлу свого профілю bash, ~/.bash_profileце зазвичай має вирішити проблему

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

єдине рішення, яке працювало для мене, - це ваше. Для інших ви також можете виправити це за допомогою вище або використовувати команду нижче: / usr / bin / git pull origin master
Ujjawal Khare

Також переконайтеся, що ваш git-core створений з включеним git-remote-https.
Ед Рендалл

2

У мене виникла ця проблема при використанні capistrano для розгортання програми рейки. Проблема полягала в тому, що мій користувач мав доступ лише до тюремної оболонки в cpanel. Зміна його на звичайний доступ до оболонки вирішила мою проблему.


Як це можна виправити, тримаючи користувача у в'язниці? Що потрібно додати до jk_init.iniUnder , [git]щоб виправити це?
пішов

2

У Mac OS X 10.9 Mavericks рішення, яке працювало, виглядає наступним чином

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

Це для компіляції Ruby із підтримкою OpenSSL. Далі видаліть усі старі версії.

brew uninstall openssl
brew uninstall curl
brew uninstall git

Далі встановіть оновлені версії. Установка git залежить від оновленої версії CURL.

brew install openssl
brew install curl
brew install git

Це спрацювало для мене ... довелося видалити CC=/usr/local/bin/gcc-4.2 CPP=/usr/local/bin/cpp-4.2 CXX=/usr/local/bin/g++-4.2 хоч і використаний вищий рубіновий варіант
Амгад

На macOS 10.14 (Mojave) моїм простим рішенням було використання анаконди, яку я вже встановив, і введіть conda install gitновішу версію git та пакунки залежності.
Skynaut

1

У мене було багато проблем з цим віддаленим питанням помічника. Я переконався, що я встановив усі команди expat, curl тощо, але остаточно вирішив це, оновивши gcc після того, як виявив, що версія 4.4.4 була duff. Щойно оновив yum та перекомпілював із 4.4.6.



0

У мене сьогодні така ж проблема: git http зламаний через роки щасливої ​​служби. Схоже, викликано деякими оновленнями Perl lib. Спробував кілька розумних пропозицій в Інтернеті, жодна не працювала. Достатньо, я просто видалив усі речі з git, отримав нову тарболу з http://git-scm.com/ , склав та встановив, і все повернулося до нормального. Спробуйте, інакше ви можете заглибитись у свої журнали ...


0

Мені довелося додати пару додаткових інсталяцій із запуском CentOS випуску 5.10 (остаточний):

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

За допомогою 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

Я приземлився сюди одного разу, бо працював з git сам. Коли я створив його, за замовчуванням makefile встановив двійковий файл у ~ / bin / git. Оскільки мій PATH мав ~ / bin першим, коли я запускав 'git pull --rebase', він використовував той у ~ / bin і, отже, не міг знайти помічників.

Я вирішив проблему, запустивши '/ usr / bin / git ...' повним шляхом (як альтернатива, я міг би скорегувати свій PATH).


0

Для тих, хто використовує git з Jenkins в системі Windows, потрібно налаштувати розташування git.exe в розділі: Керувати Дженкінсом => Глобальна конфігурація інструмента => Git => Шлях до Git виконуваного файлу та заповнити шлях до git.exe , наприклад; C: \ Програмні файли \ Git \ bin \ git.exe


0

працювали

1- мені довелося видалити git:

sudo apt-get remove git

2- повторно встановіть git із суфіксом -all:

sudo apt-get install git-all

як тут викладають: https://git-scm.com/book/en/v2/Getting-Started-Installing-Git

3- перевірив усі налаштування (ім’я користувача та електронну пошту) мого облікового запису github

до речі, я помилився з хорошим електронним листом, який був джерелом моїх помилок;) https://github.com/settings/profile
перевірити своє ім’я користувача
https://github.com/settings/emails
перевірити, чи є ваш електронний лист хорошим

4- Я дотримувався підручника з git тут

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


0

У моєму випадку нічого не вдалося, через деякий час переглянувши те, що відбувається, я виявив це у своєму конфігураційному файлі. Не впевнений, як потрапив туди

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

Після видалення властивостей URL все знову працювало нормально


0

CentOS Minimal зазвичай встановлює версію 1.8 git yum install gitкомандою.

Найкращий спосіб - це створити та встановити його з вихідного коду. Поточна версія є 2.18.0.

  1. Завантажте вихідний код з https://mirrors.edge.kernel.org/pub/software/scm/git/ абоcurl -o git-2.18.0.tar.gz https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.18.0.tar.gz

  2. Розпакуйте від tar -zxf git-2.18.0.tar.gz && cd git-2.18.0

  3. Встановіть пакет залежності, виконавши yum install autoconf curl-devel expat-devel gettext-devel openssl-devel perl-devel zlib-devel asciidoc xmlto openjade perl* texinfo

  4. Встановіть docbook2X, він не знаходиться у сховищі rpm. Завантажте та встановіть

    $ 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

І зробіть ім'я посилання Unix:

ln -s /usr/bin/db2x_docbook2texi /usr/bin/docbook2x-texi
  1. Скомпілюйте та встановіть, посилаючись на https://git-scm.com/book/en/v2/Getting-Started-Installing-Git

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

  2. Перезавантажте сервер (якщо ні, ви можете зіткнутися з Unable to find remote helper for 'https'помилкою)

    $ перезавантажте зараз

  3. Тест:

    $ git клон 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

Я отримав цю помилку в Windows під час використання TortoiseGit. Перевстановлення Git для Windows та вказівка ​​TortoiseGit шляху до git.exe шляхом повторного запуску Майстра першого запуску виправив його.


0

У моєму випадку git --exec-pathвказував на правильний шлях і git-remote-httpsіснував, але не мав дозволу на виконання. Так chmod +x git-remote-httpвиправили це питання.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.