“ ไม่พบผู้ช่วยเหลือระยะไกลสำหรับ 'https'” ในระหว่างการคอมไพล์ git


244

ฉันไม่สามารถโคลนที่เก็บ HTTPS ฉันสามารถโคลน repos SSH ได้ดี แต่ไม่สามารถ repos HTTPS ฉันไม่สามารถทดสอบโปรโตคอล GIT ได้เนื่องจากฉันอยู่หลังไฟร์วอลล์ บริษัท

นี่คือสิ่งที่ฉันพยายามทำ:

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

ฉันลองต่อไปนี้แล้ว (จากการค้นหาโดย Google)

  • การล้างและติดตั้ง Git ผ่าน apt-get
  • การติดตั้งbuild-depsสำหรับ Git ผ่านapt-get
  • การติดตั้งไลบรารี dev curl
  • การติดตั้งห้องสมุดต่างชาติ
  • กำลังดาวน์โหลดแหล่ง Git และสิ่งปลูกสร้างโดยใช้:
    • ./configure --prefix=/usr --with-curl --with-expat
    • ลองชี้การกำหนดค่าที่ curl binary ( ./configure --prefix=/usr --with-curl=/usr/bin/curl)

ฉันลองทุกอย่างที่ฉันเจอบนอินเทอร์เน็ตโดยไม่มีโชค มีใครช่วยฉันบ้าง

Git เวอร์ชัน = 1.7.6.4

OS = Ubuntu 11.04


ขออภัยที่เห็นได้ชัดดูเหมือนว่าขดไม่ได้ติดตั้ง ทำcurl --helpและดูว่ามันเป็น
ไมค์โจนส์

ฉันได้รับรายการตัวเลือกการย้อนกลับเมื่อเรียกใช้ curl - ช่วย
Ben K

1
ฉันรู้เหมือนที่ฉันได้กล่าวถึงที่ด้านบนของคำถามของฉันฉันได้ผ่านทุกผลลัพธ์ที่พบใน Google ไม่มีอะไรทำงานได้แล้ว!
Ben K

2
ฉันมีปัญหาเดียวกัน ฉันอยู่หลังไฟร์วอลล์ บริษัท เช่นกัน ฉันพยายามคอมไพล์กับตัวเลือกทั้งหมดที่พบในอินเทอร์เน็ต แต่ไม่สามารถใช้งานได้เลย ความคิดอื่น ๆ ?

1
สิ่งที่ตลกคือฉันกำลังพยายามโคลนนิ่งจาก github ของ curl เพื่อที่ฉันจะสามารถคอมไพล์มันในกล่อง $ Solaris ที่ถูกล็อค
makhdumi

คำตอบ:


290

ดูเหมือนว่าจะไม่มีการติดตั้ง (lib) curl-devel เมื่อคุณคอมไพล์คอมไพล์สามารถทำให้เกิดสิ่งนี้ได้

หากคุณติดตั้ง (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
Michael Burr

2
ใน Ubuntu 10.04 LTS แพ็คเกจที่ฉันต้องการคือ: sudo aptitude install libcurl4-openssl-devapt-get มีปัญหาการพึ่งพาและความถนัดดูเหมือนว่าจะสามารถแก้ไขได้
wenchiching

1
ฉันมีปัญหานี้เพราะฉันกำลังทำงานกับคอมไพล์เองและได้ทำการ "ติดตั้ง" ลงในไดเรกทอรี ~ / bin ของฉัน PATH ของฉันหยิบขึ้นมา ~ / bin / git ซึ่งพบข้อผิดพลาด การใช้ / usr / bin / git แก้ปัญหาได้
qneill

71

หากคุณพยายามโคลนคุณสามารถใช้การขนส่งคอมไพล์ได้

ตัวอย่างเช่น: 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 และพวกเขาจะไม่เปิดขึ้นมาให้ฉัน ฉันดาวน์โหลด tarballs เพื่อเลี่ยงปัญหานี้ แต่ฉันต้องการให้การติดตั้ง git ของฉันทำงานอย่างถูกต้อง!
Ben K

4
ดังที่คนอื่น ๆ พูด git: // มักไม่เหมาะ แต่ถ้าคุณอยู่ในสถานการณ์ที่ https: // ไม่ทำงานคุณสามารถใช้git config --global url."git://".insteadof https://เพื่อบังคับgitให้ใช้ git: // แทน https : // สิ่งนี้มีประโยชน์หากคุณพยายามโคลนด้วย submodules (เช่น with --recursive)
fakedad

สมบูรณ์ ฉันไม่สามารถติดตั้งอะไรบนคลาวด์ QNAP ของฉันได้
Phil Roggenbuck

45

ในกรณีที่มีคนพบสิ่งนี้ในระบบ QNAP หรือระบบอื่นที่มี OPKG ในฐานะผู้จัดการแพ็คเกจ:

คุณต้องติดตั้ง git-http พร้อมกับ git ชอบ:

opkg install git-http

3
คุณบันทึกวันของฉัน! นี่คือกรณีของฉัน ฉันใช้ "entware" บนระบบ Xpeonology เพื่อรับแพ็คเกจซอฟต์แวร์ Linux เพิ่มเติมและหลังจาก "opkg install git" "git clone https: //" จะล้มเหลวโดยมีข้อผิดพลาด: ร้ายแรง: ไม่สามารถค้นหาผู้ช่วยเหลือระยะไกลสำหรับ 'https ' ขอบคุณที่กล่าวถึงแพ็คเกจ "git-http" นี้
zerox

ขอบคุณฉันเข้าใจปัญหา แต่ไม่ทราบว่าแพ็กเกจคืออะไรที่จะช่วยให้ git สามารถดึงข้อมูล http แทนข้อมูล ssh
erichlf

43

ฉันใช้ " git://" แทน " https://" และนั่นช่วยแก้ปัญหาได้ คำสั่งสุดท้ายของฉันคือ:

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

16
นี่เป็นวิธีแก้ปัญหาไม่ใช่วิธีแก้ปัญหา มันจะทำงานเพื่อ repos แต่ไม่ได้สำหรับเค้าและไม่สำหรับ OP เนื่องจากไฟร์วอลล์องค์กรของเขา
แพทริคฟิชเชอ

และยังหมายความว่าคุณไม่สามารถผลักดันอะไรได้เลย
ฟิล

@cecheverria: github ไม่ยอมรับการกด git
user2284570

2
@PatrickFisher แต่มันไม่ทำงานในสภาพแวดล้อมที่คุณไม่ได้มีสิทธิในการติดตั้งห้องสมุดขด-devel และ / หรือดูแลระบบจะไม่ติดตั้งได้ทันที
squipbar

16

ในกรณีของเราปัญหาได้รับการแก้ไขเมื่อเราตรวจสอบ

git --exec-path

กำลังชี้ไปยังเส้นทางที่หยุดอยู่ (มันชี้ไปยังเส้นทางที่เรารวบรวมคอมไพล์และไม่ใช่ตำแหน่งที่เราคัดลอกเพื่อให้ทุกคนเข้าถึงได้ในภายหลัง)

เราทำ:

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

และแก้ไข


ขอบคุณ วิธีที่ 2 ทำงานได้ดีสำหรับฉันเมื่อติดตั้งคอมไพล์ในโฟลเดอร์แยก
maxwu

15

บน CentOS 5.x การติดตั้ง curl-devel ช่วยแก้ไขปัญหาให้ฉันได้


8
@RyanM: มันใช้งานได้สำหรับฉัน ฉันyum install curl-develแล้วฉัน./configure, makeและmake installรหัสคอมไพล์ของฉัน จากนั้น https: // ใช้งานได้สำหรับฉัน นี่คือ CentOS 5.8
Brett

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

สิ่งนี้ใช้งานได้สำหรับฉัน ... การถอนการติดตั้งคอมไพล์ดังกล่าวข้างต้นจากนั้นรับ tarball คอมไพล์สร้างและติดตั้ง
joeking

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. ทำ symlink

    ln -s /usr/bin/db2x_docbook2texi /usr/bin/docbook2x-texi
    
  5. สร้างคอมไพล์

    # 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
    

รอสักครู่ ... ปัญหาคือว่า clit git https: // ล้มเหลว คุณจะแก้ไขได้อย่างไรโดยการโคลนแหล่ง git ??? ทุกคนที่อ่านคำถามนี้จะไม่สามารถทำขั้นตอนที่ 5 ได้
andrew lorien

1
เพิ่มการใช้งาน curl and tar
rofrol

5

วิธีที่ง่ายที่สุดในการแก้ไขปัญหานี้คือเพื่อให้แน่ใจว่าgit-coreจะถูกเพิ่มไปยังpathสำหรับผู้ใช้ปัจจุบันของคุณ

หากคุณเพิ่มสิ่งต่อไปนี้ในไฟล์โปรไฟล์ทุบตีของคุณใน~/.bash_profileกรณีนี้ควรแก้ไขปัญหาได้ตามปกติ

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

ทางออกเดียวสำหรับฉันคือของคุณ สำหรับคนอื่นคุณสามารถแก้ไขได้โดยใช้ด้านบนหรือใช้คำสั่งด้านล่างแทน: / usr / bin / git pull master ต้นกำเนิด
Ujjawal Khare

นอกจากนี้ตรวจสอบให้แน่ใจว่า git-core ของคุณถูกสร้างด้วย git-remote-https ที่รวมอยู่
Ed Randall

2

ฉันมีปัญหานี้เมื่อใช้ capistrano เพื่อปรับใช้แอพทางรถไฟ ปัญหาคือผู้ใช้ของฉันมีการเข้าถึงเชลล์ที่ถูกจำคุกใน cPanel เท่านั้น การเปลี่ยนเป็นการเข้าถึงเชลล์ปกติช่วยแก้ไขปัญหาของฉัน


สิ่งนี้จะได้รับการแก้ไขในขณะที่ยังคงผู้ใช้อยู่ในคุก จำเป็นต้องเพิ่มอะไรบ้างในส่วนjk_init.iniล่าง[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

นี่คือการรวบรวมทับทิมด้วยการสนับสนุน 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 และใช้รุ่นทับทิมที่สูงขึ้น
Amgad

ใน macOS 10.14 (โมฮาวี) ทางออกที่ง่ายของฉันคือการใช้อนาคอนดาที่ฉันติดตั้งไว้แล้วและพิมพ์conda install gitเพื่อติดตั้งเวอร์ชัน git และแพ็คเกจการพึ่งพาที่ใหม่กว่า
skynaut

1

ฉันมีปัญหามากมายกับปัญหาตัวช่วยระยะไกลนี้ ฉันมั่นใจว่าฉันได้ติดตั้งชาวต่างชาติทั้งหมดม้วน ฯลฯ แต่ในที่สุดก็แก้ไขได้โดยการอัปเดต gcc หลังจากพบว่ารุ่น 4.4.4 นั้นเป็นดัฟฟ์ เพิ่งอัปเดตยำและคอมไพล์ด้วย 4.4.6 อีกครั้ง



0

ฉันมีปัญหาเดียวกันวันนี้: http git หักหลังจากบริการมีความสุขปี ดูเหมือนว่าเกิดจากการอัพเดท Perl lib บางอย่าง ลองใช้คำแนะนำที่มีสติบนเว็บไม่มีใครได้ผล มีเพียงพอฉันเพิ่งลบสิ่งคอมไพล์ทั้งหมดได้ tarball ใหม่จากhttp://git-scm.com/รวบรวมและติดตั้งและทุกสิ่งกลับสู่ปกติ ลองดูสิหรือคุณสามารถขุดลึกลงไปในบันทึกของคุณ ...


0

ฉันต้องเพิ่มการติดตั้งเพิ่มเติมสองสามตัวที่รัน CentOS รีลีส 5.10 (ครั้งสุดท้าย):

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

การใช้ git-1.8.5: ./configure ทำให้ clean make ทำการติดตั้ง

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

ฉันลงจอดที่นี่ครั้งเดียวเพราะฉันทำงานกับคอมไพล์เอง เมื่อฉันสร้างมัน makefile เริ่มต้นติดตั้งไบนารีใน ~ / bin / git เนื่องจาก PATH ของฉันมี ~ / bin เป็นครั้งแรกเมื่อฉันรัน 'git pull --rebase' มันใช้อันที่ ~ / bin และจึงไม่สามารถค้นหาผู้ช่วยเหลือได้

ฉันแก้ไขปัญหาด้วยการเรียกใช้ '/ usr / bin / git ... ' ด้วยเส้นทางแบบเต็ม (หรืออาจปรับเส้นทางของฉัน)


0

สำหรับผู้ที่ใช้คอมไพล์กับเจนกินส์ภายใต้ระบบ Windows คุณต้องกำหนดค่าสถานที่ตั้งของgit.exeใต้: การจัดการเจนกินส์ => Configuration Tool ทั่วโลก => Git => เส้นทางสู่ Git ปฏิบัติการและเติมในเส้นทางไปยังgit.exe , ตัวอย่างเช่น; C: \ Program Files \ Git \ bin \ git.exe


0

ทำงาน

1- ฉันต้องลบ git:

sudo apt-get remove git

2- อีกครั้ง - ติดตั้ง git ด้วย - ต่อท้ายทั้งหมด:

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- ฉันได้ติดตามการสอนของคอมไพล์ที่นี่

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


0

ในกรณีของฉันไม่มีอะไรประสบความสำเร็จหลังจากที่ในขณะที่มองสิ่งที่เกิดขึ้นฉันพบสิ่งนี้ในไฟล์ config ของฉัน ไม่แน่ใจว่ามันไปถึงที่นั่นได้อย่างไร

% 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 น้อยที่สุดมักจะติดตั้งรุ่น 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 $ รอบต่อนาที -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 $ ทำทุกข้อมูลเอกสาร $ sudo ทำการติดตั้ง install-doc install-html install-info

  2. รีบูตเซิร์ฟเวอร์ของคุณ (ถ้าไม่คุณอาจพบUnable to find remote helper for 'https'ข้อผิดพลาด)

    $ เริ่มต้นใหม่ตอนนี้

  3. ทดสอบ:

    $ git clone https://github.com/volnet/v-labs.git $ cd v-labs $ touch test.txt $ git เพิ่ม $ git กระทำ -m "ทดสอบการติดตั้ง git" $ git push -u


0

ฉันพบข้อผิดพลาดนี้ใน Windows ขณะใช้ TortoiseGit ติดตั้ง Git ใหม่สำหรับ Windows และบอก TortoiseGit พา ธ ไปยัง git.exe โดยเรียกใช้ตัวช่วยสร้างการเริ่มต้นใหม่อีกครั้งซ่อม


0

ในกรณีของฉันgit --exec-pathชี้ไปที่เส้นทางที่ถูกต้องและgit-remote-httpsมีอยู่ แต่ไม่มีสิทธิ์ดำเนินการ ดังนั้นchmod +x git-remote-httpแก้ไขปัญหา

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.