"Tidak dapat menemukan pembantu jarak jauh untuk 'https'" selama git clone

244

Saya tidak dapat mengkloning repositori HTTPS. Saya dapat mengkloning repo SSH dengan baik, tetapi tidak repo HTTPS. Saya tidak dapat menguji protokol GIT karena saya berada di belakang firewall perusahaan.

Inilah yang saya coba lakukan:

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

Sejauh ini saya sudah mencoba yang berikut (berdasarkan pencarian Google)

  • Membersihkan dan menginstal Git melalui apt-get
  • Menginstal build-depsuntuk Git melaluiapt-get
  • Menginstal perpustakaan dev curl
  • Menginstal perpustakaan pendatang
  • Mengunduh sumber dan bangunan Git menggunakan:
    • ./configure --prefix=/usr --with-curl --with-expat
    • Juga mencoba menunjuk konfigurasi di curl binary ( ./configure --prefix=/usr --with-curl=/usr/bin/curl)

Saya telah mencoba semua yang saya dapat temukan di internet tanpa hasil. Ada yang bisa bantu saya?

Versi Git = 1.7.6.4

OS = Ubuntu 11,04

Ben K
sumber
Maaf sudah jelas, sepertinya ikal tidak terpasang. lakukan curl --helpdan lihat apakah itu benar.
mike jones
Saya mendapatkan kembali daftar opsi curl ketika saya menjalankan curl --help.
Ben K
1
Saya tahu, seperti yang saya sebutkan di bagian atas pertanyaan saya, saya telah melewati setiap hasil yang dapat saya temukan di Google. Sejauh ini tidak ada yang berhasil!
Ben K
2
Saya memiliki masalah yang sama. Saya di belakang firewall perusahaan juga. Saya mencoba mengkompilasi ulang dengan semua opsi yang ditemukan di Internet, tetapi tidak berfungsi sama sekali. Ada ide lain?
1
Lucunya, saya mencoba untuk mengkloning dari curl's github sehingga saya dapat mengkompilasinya pada kotak $ & #% ^ * Solaris yang terkunci.
makhdumi

Jawaban:

290

Sepertinya tidak memiliki (lib) curl-devel yang diinstal ketika Anda mengkompilasi git dapat menyebabkan hal ini.

Jika Anda menginstal (lib) curl-devel, dan kemudian membangun kembali / menginstal git, ini akan menyelesaikan masalah:

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

Ini bekerja untuk saya di Centos 6.3.

Jika Anda tidak memiliki yum, Anda dapat mengunduh sumbernya ke curl-devel di sini:


Jika Anda menjalankan Ubuntu sebagai gantinya:

sudo apt-get install libcurl4-openssl-dev 
Kode lezat
sumber
4
langkah-langkah ini berhasil untuk saya. CentOS 5.8 32 bit; git versi 1.8.0
Vikram
1
Bekerja untuk saya CentOS 6.4 dan git 1.8.2.1
JoxTraex
18
Pada Ubuntu 12,04 LTS paket yang saya butuhkan adalah:sudo apt-get install libcurl4-openssl-dev
Michael Burr
2
Pada Ubuntu 10,04 LTS paket yang saya butuhkan adalah: sudo aptitude install libcurl4-openssl-devapt-get memiliki masalah ketergantungan dan aptitude tampaknya dapat menyelesaikannya
wenchiching
1
Saya mengalami masalah ini karena saya sedang mengerjakan git sendiri, dan telah melakukan "make install" ke direktori ~ / bin saya. PATH saya mengambil ~ / bin / git yang mengalami kesalahan. Menggunakan / usr / bin / git memecahkan masalah.
qneill
71

Jika Anda mencoba untuk mengkloning maka Anda bisa menggunakan transportasi git

Sebagai contoh: 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
sumber
3
Terima kasih atas saranmu. Sayangnya saya bekerja di belakang firewall perusahaan yang memblokir port protokol git dan mereka tidak akan membukanya untuk saya. Saya telah mengunduh tarbal untuk mem-bypass masalah ini, tetapi saya benar-benar ingin menginstal git agar berfungsi dengan baik!
Ben K
4
Seperti yang disebutkan orang lain, git: // biasanya tidak ideal, tetapi tampaknya jika Anda berada dalam situasi di mana https: // tidak akan berfungsi, Anda dapat menggunakan git config --global url."git://".insteadof https://untuk memaksa gituntuk selalu menggunakan git: // alih-alih https : //. Ini dapat berguna jika Anda mencoba untuk mengkloning dengan submodul (misalnya dengan --recursive).
fakedad
Sempurna. Saya tidak bisa menginstal apa pun di cloud QNAP saya, tetapi ini bekerja dengan sangat baik!
Phil Roggenbuck
45

Untuk berjaga-jaga jika seseorang menemukan ini pada sistem QNAP atau sistem lain dengan OPKG sebagai manajer paket:

Anda perlu menginstal git-http bersama dengan git. Suka:

opkg install git-http
CWBudde
sumber
3
Kamu menyelamatkan hariku! Ini persis kasus saya. Saya menggunakan "entware" pada sistem Xpeonology untuk mendapatkan lebih banyak paket perangkat lunak Linux, dan setelah "opkg install git", "git clone https: //" akan gagal dengan kesalahan: fatal: tidak dapat menemukan pembantu jarak jauh untuk 'https ' Terima kasih telah menyebutkan paket "git-http" ini.
zerox
Terima kasih saya mengerti masalahnya, tetapi tidak tahu paket apa yang memungkinkan git untuk mengambil data http, bukan data ssh.
erichlf
43

Saya menggunakan " git://" bukannya " https://" dan itu memecahkan masalah. Perintah terakhir saya adalah:

git clone --recursive git://github.com/ceph/ceph.git
cecheverria
sumber
16
Ini adalah solusi, bukan solusi. Ini akan bekerja untuk repo tetapi tidak untuk inti, dan tidak untuk OP karena firewall perusahaannya.
Patrick Fisher
Dan itu juga berarti Anda tidak dapat mendorong apa pun
Phil
@cecheverria: github tidak menerima push over git.
user2284570
2
@PatrickFisher Tapi itu tidak bekerja dalam lingkungan di mana Anda tidak memiliki hak untuk menginstal perpustakaan ikal-devel dan / atau sysadmin tidak akan menginstal mereka segera.
squipbar
16

Dalam kasus kami, masalah telah diperbaiki ketika kami memeriksa

git --exec-path

sedang menunjuk ke jalan yang berhenti ada. (Itu menunjuk ke jalur di mana kita telah mengkompilasi git dan bukan tempat kita menyalin setelah itu bagi siapa pun untuk mengaksesnya)

Kami melakukan:

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

dan dipecahkan.

Pedro Reis
sumber
Terima kasih. Solusi ke-2 bekerja untuk saya ketika git diinstal pada folder terpisah.
Maks.
15

Pada CentOS 5.x, menginstal curl-devel memperbaiki masalah untuk saya.

ron
sumber
8
@RyanM: Ini berhasil untuk saya. Saya yum install curl-develdan kemudian saya ./configure, makedan make installpada kode git saya. Lalu https: // bekerja untuk saya. Ini ada di CentOS 5.8
Brett
13

Saya memiliki masalah yang sama dan mudah untuk menyelesaikannya.

Cukup hapus git dan instal ulang.

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

dan semuanya bekerja dengan baik.

Semoga bantuan ini.

thehuyvb
sumber
2
Anda harus melakukan apt-get remove --purge git
sanbor
Ini bekerja untuk saya ... menghapus git seperti di atas, kemudian mendapatkan tarbal git, membangun dan menginstalnya.
joeking
10

Saya memiliki masalah yang sama persis dan bermuara pada ketergantungan yang tidak terpenuhi, namun, saya mencoba solusi jawaban yang diterima dan itu tidak berhasil.

Apa yang akhirnya berhasil bagi saya adalah menginstal semua hal berikut (ini RedHat):

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

Setelah itu, saya menjalankan perintah lain seperti yang ditentukan dan berhasil:

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

Saya menarik daftar dependensi langsung dari situs web Git . Rupanya saya seharusnya mulai di sana: /

Topher Fangio
sumber
5

Ini bekerja untuk saya di Centos 6.6 untuk menginstal git 2.3.1:

  1. Saya tidak menginstal curl-devel (memeriksa curl_global_init di -lcurl ... tidak). Kuncinya adalah untuk menghasilkan skrip konfigurasi

  2. tambahkan rpmforge untuk docboox2x

  3. instal paket

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

    ln -s /usr/bin/db2x_docbook2texi /usr/bin/docbook2x-texi
    
  5. membangun 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
    
rofrol
sumber
Tunggu sebentar ... masalahnya adalah git clone https: // gagal. Bagaimana Anda memperbaikinya dengan mengkloning sumber git ??? Siapa pun yang membaca pertanyaan ini tidak akan dapat melakukan langkah 5.
andrew lorien
1
menambahkan penggunaan curl dan tar
rofrol
5

Cara termudah untuk memperbaiki masalah ini adalah untuk memastikan bahwa git-coreditambahkan kepath untuk pengguna Anda saat ini

Jika Anda menambahkan yang berikut ke file profil bash Anda dalam ~/.bash_profilehal ini biasanya akan menyelesaikan masalah

PATH=$PATH:/usr/libexec/git-core
Judder
sumber
satu-satunya solusi yang bekerja untuk saya adalah milik Anda. Untuk yang lain, Anda juga dapat memperbaikinya menggunakan perintah di atas atau menggunakan di bawah ini sebagai gantinya: / usr / bin / git pull master asal
Ujjawal Khare
Juga, pastikan bahwa git-core Anda telah dibuat dengan menyertakan git-remote-https.
Ed Randall
2

Saya mengalami masalah ini ketika menggunakan capistrano untuk menyebarkan aplikasi rel. Masalahnya adalah bahwa pengguna saya hanya memiliki akses shell yang dipenjara di cpanel. Mengubahnya ke akses shell normal memperbaiki masalah saya.

Metralha
sumber
Bagaimana ini bisa diperbaiki sambil membuat pengguna tetap dipenjara? Apa yang perlu ditambahkan di jk_init.inibawah [git]untuk memperbaikinya?
pergi
2

Pada Mac OS X 10.9 Mavericks, solusi yang berhasil adalah sebagai berikut

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

Ini untuk mengkompilasi Ruby dengan Dukungan OpenSSL. Selanjutnya, hapus instalan semua versi lama.

brew uninstall openssl
brew uninstall curl
brew uninstall git

Selanjutnya, instal versi yang diperbarui. Instalasi git tergantung pada versi CURL yang diperbarui.

brew install openssl
brew install curl
brew install git
Nick Woodham
sumber
Ini berhasil bagi saya ... harus menghapus CC=/usr/local/bin/gcc-4.2 CPP=/usr/local/bin/cpp-4.2 CXX=/usr/local/bin/g++-4.2 & menggunakan versi ruby ​​yang lebih tinggi
Amgad
Pada macOS 10.14 (Mojave) solusi sederhana saya adalah menggunakan Anaconda yang telah saya instal, dan ketik conda install gituntuk menginstal versi git yang lebih baru dan paket dependensi.
skynaut
1

Saya punya banyak masalah dengan masalah pembantu jarak jauh ini. Saya memastikan bahwa saya telah menginstal semua expat, curl dll. Tetapi akhirnya menyelesaikannya dengan memperbarui gcc setelah menemukan bahwa versi 4.4.4 duff. Baru saja memperbarui yum dan dikompilasi ulang dengan 4.4.6.

pengguna1164594
sumber
1

Pada centos 7:

$ yum install curl-devel
$ yum reinstall git

Itu bekerja untuk saya.

Johan Morales
sumber
0

Saya mendapat masalah yang sama hari ini: git http rusak setelah bertahun-tahun pelayanan yang menyenangkan. Tampaknya disebabkan oleh beberapa pembaruan Perl lib. Mencoba beberapa saran waras di web, tidak ada yang berhasil. Sudah cukup, saya baru saja menghapus semua hal git, mendapat tarball baru dari http://git-scm.com/ , dikompilasi dan diinstal, dan semua hal kembali normal. Cobalah, atau Anda bisa menggali lebih dalam ke log Anda ...

Wen Bian
sumber
0

Saya harus menambahkan beberapa instalasi tambahan yang menjalankan rilis CentOS 5.10 (Final):

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

Menggunakan 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
sumber
0

Saya pernah mendarat di sini karena saya bekerja dengan git sendiri. Ketika saya membangunnya, makefile default menginstal binary di ~ / bin / git. Karena PATH saya memiliki ~ / bin pertama ketika saya menjalankan 'git pull --rebase' ia menggunakan yang di ~ / bin dan akibatnya tidak dapat menemukan pembantu.

Saya mengatasi masalah ini dengan menjalankan '/ usr / bin / git ...' dengan path lengkap (atau saya bisa menyesuaikan PATH saya).

Qneill
sumber
0

Bagi mereka yang menggunakan git dengan Jenkins di bawah sistem windows, Anda perlu mengkonfigurasi lokasi git.exe di bawah: Kelola Jenkins => Global Tool Configuration => Git => Path ke Git yang dapat dieksekusi dan isi path ke git.exe , sebagai contoh; C: \ Program Files \ Git \ bin \ git.exe

posix99
sumber
0

bekerja

1- Saya harus menghapus git:

sudo apt-get remove git

2- menginstal ulang git dengan akhiran -all:

sudo apt-get install git-all

seperti yang diajarkan di sini: https://git-scm.com/book/en/v2/Getting-Started-Installing-Git

3 - memeriksa semua pengaturan (nama pengguna & email) dari akun github saya

Ngomong-ngomong, saya salah mengira email bagus yang menjadi sumber kesalahan saya;) https://github.com/settings/profile
periksa nama pengguna Anda
https://github.com/settings/emails
periksa email Anda adalah email yang bagus

4- Saya telah mengikuti tutorial git di sini

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

marcdahan
sumber
0

Dalam kasus saya tidak ada yang berhasil, setelah beberapa saat melihat apa yang terjadi, saya menemukan ini di file konfigurasi saya. Tidak yakin bagaimana sampai di sana

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

Setelah menghapus properti url semuanya bekerja dengan baik lagi

Bruno Manzo
sumber
0

CentOS Minimal biasanya menginstal versi 1.8 git yum install git perintah.

Cara terbaik adalah membangun & menginstalnya dari kode sumber. Versi saat ini adalah 2.18.0.

  1. Unduh kode sumber dari https://mirrors.edge.kernel.org/pub/software/scm/git/ ataucurl -o git-2.18.0.tar.gz https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.18.0.tar.gz

  2. Buka zip oleh tar -zxf git-2.18.0.tar.gz && cd git-2.18.0

  3. Instal paket dependensi dengan menjalankan yum install autoconf curl-devel expat-devel gettext-devel openssl-devel perl-devel zlib-devel asciidoc xmlto openjade perl* texinfo

  4. Instal docbook2X, itu tidak ada di repositori rpm. Unduh dan instal oleh

    $ 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-17.el7.x86_64 .rpm $ rpm -Uvh docbook2X-0.8.8-17.el7.x86_64.rpm

Dan buat nama tautan unix:

ln -s /usr/bin/db2x_docbook2texi /usr/bin/docbook2x-texi
  1. Kompilasi dan instal, referensi ke https://git-scm.com/book/en/v2/Getting-Started-Installing-Git

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

  2. Nyalakan ulang server Anda (Jika tidak, Anda mungkin menjumpai Unable to find remote helper for 'https' kesalahan)

    $ reboot sekarang

  3. Uji:

    $ 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

Eric Kung
sumber
0

Saya mendapatkan kesalahan ini di Windows saat menggunakan TortoiseGit. Menginstal ulang Git untuk Windows dan memberi tahu TortoiseGit jalur ke git.exe dengan menjalankan kembali Wisaya Mulai Pertama memperbaikinya.

Matius
sumber
0

Dalam kasus saya git --exec-pathmenunjuk ke jalur yang benar dan git-remote-httpsada tetapi tidak memiliki izin eksekusi. Jadi chmod +x git-remote-httpperbaiki masalahnya.

nicolausYa
sumber