Không thể tìm thấy người trợ giúp từ xa cho 'https' trong khi git clone


244

Tôi không thể sao chép kho HTTPS. Tôi có thể sao chép SSH repos tốt, nhưng không phải là repos HTTPS. Tôi không thể kiểm tra giao thức GIT vì tôi đứng sau tường lửa của công ty.

Đây là những gì tôi đang cố gắng làm:

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

Tôi đã thử các cách sau (dựa trên các tìm kiếm của Google)

  • Thanh lọc và cài đặt Git thông qua apt-get
  • Cài đặt build-depscho Git thông quaapt-get
  • Cài đặt thư viện curl dev
  • Cài đặt thư viện nước ngoài
  • Tải xuống nguồn Git và tòa nhà bằng cách sử dụng:
    • ./configure --prefix=/usr --with-curl --with-expat
    • Cũng đã thử cấu hình trỏ tại curl binary ( ./configure --prefix=/usr --with-curl=/usr/bin/curl)

Tôi đã thử mọi thứ tôi có thể tìm thấy trên internet mà không gặp may mắn. Ai giúp tôi với?

Phiên bản Git = 1.7.6.4

HĐH = Ubuntu 11.04


Xin lỗi để được rõ ràng, có vẻ như curl không được cài đặt. làm curl --helpvà xem nếu nó là.
mike jones

Tôi đang nhận được một danh sách các tùy chọn curl khi tôi chạy curl --help.
Ben K

1
Tôi biết, như tôi đã đề cập ở đầu câu hỏi của mình, tôi đã trải qua mọi kết quả tôi có thể tìm thấy trong Google. Không có gì đã làm việc cho đến nay!
Ben K

2
Tôi có cùng một vấn đề. Tôi cũng đứng sau một tường lửa của công ty. Tôi đã cố gắng biên dịch lại với tất cả các tùy chọn tìm thấy trên Internet, nhưng không hoạt động. Còn ý tưởng nào khác không?

1
Điều thú vị là, tôi đang cố gắng sao chép từ github của curl để tôi có thể biên dịch nó trên hộp Solaris bị khóa & #% ^ *.
makhdumi

Câu trả lời:


290

Có vẻ như không có (lib) curl-devel được cài đặt khi bạn biên dịch git có thể gây ra điều này.

Nếu bạn cài đặt (lib) curl-devel, sau đó xây dựng lại / cài đặt git, điều này sẽ giải quyết vấn đề:

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

Điều này làm việc cho tôi trên Centos 6.3.

Nếu bạn không có yum, bạn có thể tải xuống nguồn để curl-devel tại đây:


Nếu bạn đang chạy Ubuntu thay thế:

sudo apt-get install libcurl4-openssl-dev 

4
Những bước này làm việc cho tôi. CentOS 5,8 32 bit; phiên bản git 1.8.0
Vikram

1
Đã làm việc cho tôi CentOS 6.4 và git 1.8.2.1
JoxTraex

18
Trên Ubuntu 12.04 LTS, gói tôi cần là:sudo apt-get install libcurl4-openssl-dev
Michael Burr

2
Trên Ubuntu 10.04 LTS, gói tôi cần là: sudo aptitude install libcurl4-openssl-devapt-get có vấn đề phụ thuộc và năng khiếu dường như có thể giải quyết nó
wenchiching

1
Tôi gặp vấn đề này vì tôi đang làm việc trên git và đã thực hiện "cài đặt" vào thư mục ~ / bin của mình. PATH của tôi nhặt ~ / bin / git mà gặp lỗi. Sử dụng / usr / bin / git đã giải quyết vấn đề.
qneill

71

Nếu bạn đang cố gắng sao chép thì bạn có thể sử dụng git Transport

Ví dụ: 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
Cảm ơn lời khuyên của bạn. Thật không may, tôi làm việc đằng sau một tường lửa công ty chặn cổng giao thức git và họ sẽ không mở nó cho tôi. Tôi đã tải xuống tarball để bỏ qua vấn đề này, nhưng tôi thực sự muốn cài đặt git của mình hoạt động bình thường!
Ben K

4
Như những người khác đã đề cập, git: // thường không lý tưởng, nhưng rõ ràng nếu bạn đang ở trong tình huống https: // đơn giản là không hoạt động, bạn có thể sử dụng git config --global url."git://".insteadof https://để buộc gitluôn sử dụng git: // thay vì https : //. Điều này có thể hữu ích nếu bạn đang cố gắng sao chép với các mô hình con (ví dụ với --recursive).
fakesad

Hoàn hảo. Tôi không thể cài đặt bất cứ thứ gì trên đám mây QNAP của mình nhưng điều này hoạt động như một cơ duyên!
Phil Roggenbuck

45

Chỉ trong trường hợp ai đó gặp phải điều này trên hệ thống QNAP hoặc bất kỳ hệ thống nào khác có OPKG làm người quản lý gói:

Bạn cần cài đặt git-http cùng với git. Giống:

opkg install git-http

3
Bạn đã cứu ngày của tôi! Đây chính xác là trường hợp của tôi. Tôi đang sử dụng "entware" trên hệ thống Xpeonology để nhận thêm các gói phần mềm Linux và sau khi "opkg install git", "git clone https: //" sẽ thất bại với lỗi: fatal: Không thể tìm thấy trình trợ giúp từ xa cho 'https '. Cảm ơn bạn đã đề cập đến gói "git-http" này.
zerox

Cảm ơn tôi đã hiểu vấn đề, nhưng không biết gói nào sẽ cho phép git lấy dữ liệu http thay vì dữ liệu ssh.
erichlf

43

Tôi đã sử dụng " git://" thay vì " https://" và điều đó đã giải quyết vấn đề. Lệnh cuối cùng của tôi là:

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

16
Đây là một cách giải quyết, không phải là một giải pháp. Nó sẽ hoạt động cho repos nhưng không phải cho ý chính, và không cho OP do tường lửa công ty của anh ấy.
Patrick Fisher

Và nó cũng có nghĩa là bạn không thể đẩy bất cứ thứ gì
Phil

@cecheverria: github không chấp nhận đẩy git.
dùng2284570

2
@PatrickFisher Nhưng nó không làm việc trong môi trường mà bạn không có quyền cài đặt các thư viện curl-devel và / hoặc quản trị hệ thống sẽ không cài đặt chúng ngay lập tức.
squipbar

16

Trong trường hợp của chúng tôi, sự cố đã được khắc phục khi chúng tôi kiểm tra

git --exec-path

đã chỉ vào một con đường dừng lại để tồn tại. (Nó đang chỉ vào đường dẫn chúng tôi đã biên dịch git chứ không phải nơi chúng tôi đã sao chép sau đó cho bất kỳ ai truy cập vào nó)

Chúng tôi đã làm một:

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

và giải quyết.


Cảm ơn. Giải pháp thứ 2 hoạt động với tôi khi git được cài đặt trong thư mục riêng.
maxwu

15

Trên CentOS 5.x, cài đặt curl-devel đã khắc phục sự cố cho tôi.


8
@RyanM: Điều này làm việc cho tôi. Tôi yum install curl-develvà sau đó tôi ./configure, makemake installtrên mã git của tôi. Sau đó https: // làm việc cho tôi. Đây là trên CentOS 5.8
Brett

13

Tôi đã có cùng một vấn đề và đơn giản để giải quyết nó.

Chỉ cần gỡ cài đặt git và cài đặt lại nó.

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

và mọi thứ hoạt động tốt.

Hy vọng điều này giúp đỡ.


2
Bạn nên thực hiện apt-get remove
--purge

Điều này làm việc cho tôi ... gỡ cài đặt git như trên, sau đó lấy tarit git, xây dựng và cài đặt nó.
joeking

10

Tôi đã có cùng một vấn đề chính xác và nó đã bị biến thành một sự phụ thuộc chưa được đáp ứng, tuy nhiên, tôi đã thử giải pháp của câu trả lời được chấp nhận và nó không hoạt động.

Điều cuối cùng làm việc cho tôi là cài đặt tất cả những thứ sau đây (đây là RedHat):

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

Sau đó, tôi chạy các lệnh khác theo quy định và nó hoạt động:

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

Tôi lấy danh sách các phụ thuộc trực tiếp từ trang web của Git . Rõ ràng tôi nên bắt đầu từ đó: /


5

Điều này làm việc với tôi trong Centos 6.6 để cài đặt git 2.3.1:

  1. Tôi chưa cài đặt curl-devel (kiểm tra curl_global_init trong -lcurl ... không). Chìa khóa là tạo kịch bản cấu hình

  2. thêm rpmforge cho docboox2x

  3. cài đặt gói

    yum install openssl-devel zlib-devel perl-ExtUtils-MakeMaker svn tcl perl-Locale-Msgfmt gettext asciidoc xmlto docbook2x
    
  4. tạo liên kết tượng trưng

    ln -s /usr/bin/db2x_docbook2texi /usr/bin/docbook2x-texi
    
  5. xây dựng 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
    

Đợi một chút ... vấn đề là git clone https: // thất bại. Làm thế nào để bạn sửa nó bằng cách nhân bản nguồn git ??? Bất cứ ai đọc câu hỏi này sẽ không thể thực hiện bước 5.
andrew lorien

1
thêm sử dụng curl và tar
rofrol

5

Cách dễ nhất để khắc phục sự cố này là đảm bảo rằng đã git-coređược thêm vào pathcho người dùng hiện tại của bạn

Nếu bạn thêm phần sau vào tệp hồ sơ bash của mình ~/.bash_profilethì điều này thường sẽ giải quyết được vấn đề

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

giải pháp duy nhất làm việc cho tôi là của bạn. Đối với những người khác, bạn cũng có thể sửa nó bằng cách sử dụng lệnh trên hoặc sử dụng lệnh bên dưới: / usr / bin / git pull master master
Ujjawal Khare 7/12/18

Ngoài ra, đảm bảo rằng git-core của bạn đã được xây dựng với git-remote-https đi kèm.
Ed Randall

2

Tôi gặp vấn đề này khi sử dụng capistrano để triển khai ứng dụng rails. Vấn đề là người dùng của tôi chỉ có quyền truy cập shell trong cpanel. Thay đổi nó để truy cập shell bình thường đã khắc phục vấn đề của tôi.


Làm thế nào điều này có thể được sửa chữa trong khi giữ cho người dùng bị bỏ tù? Những gì cần phải được thêm vào jk_init.inidưới [git]để khắc phục điều này?
đi

2

Trên Mac OS X 10.9 Mavericks, giải pháp hoạt động như sau

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

Điều này là để biên dịch Ruby với Hỗ trợ OpenSSL. Tiếp theo, gỡ cài đặt tất cả các phiên bản cũ.

brew uninstall openssl
brew uninstall curl
brew uninstall git

Tiếp theo, cài đặt các phiên bản cập nhật. Việc cài đặt git phụ thuộc vào phiên bản cập nhật của CURL.

brew install openssl
brew install curl
brew install git

Điều này làm việc cho tôi ... đã phải loại bỏ CC=/usr/local/bin/gcc-4.2 CPP=/usr/local/bin/cpp-4.2 CXX=/usr/local/bin/g++-4.2 mặc dù & đã sử dụng phiên bản ruby ​​cao hơn
Amgad

Trên macOS 10.14 (Mojave), giải pháp đơn giản của tôi là sử dụng Anaconda mà tôi đã cài đặt và gõ conda install gitđể cài đặt phiên bản git mới hơn và các gói phụ thuộc.
skynaut

1

Tôi đã có rất nhiều vấn đề với vấn đề người trợ giúp từ xa này. Tôi đảm bảo rằng tôi đã cài đặt tất cả các expat, curl, vv nhưng cuối cùng đã giải quyết nó bằng cách cập nhật gcc sau khi tìm thấy phiên bản 4.4.4 đó là duff. Chỉ cần cập nhật yum và biên dịch lại với 4.4.6.


1

Trên centos 7:

$ yum install curl-devel
$ yum reinstall git

Nó ổn với tôi.


0

Tôi đã gặp vấn đề tương tự ngày hôm nay: git http bị hỏng sau nhiều năm phục vụ hạnh phúc. Có vẻ như gây ra bởi một số cập nhật lib Perl. Đã thử một số đề xuất lành mạnh trên web, không có tác dụng. Có đủ, tôi chỉ cần xóa tất cả các công cụ git, nhận một tarball mới từ http://git-scm.com/ , được biên dịch và cài đặt, và tất cả mọi thứ đã trở lại bình thường. Hãy thử, hoặc bạn có thể đi sâu vào nhật ký của bạn ...


0

Tôi đã phải thêm một vài cài đặt bổ sung đang chạy phiên bản CentOS 5.10 (Final):

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

Sử dụng git-1.8.5: ./mình làm sạch hãy thực hiện cài đặt

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

Tôi đã đến đây một lần vì tôi đang làm việc với chính git. Khi tôi xây dựng nó, makefile mặc định đã cài đặt nhị phân trong ~ / bin / git. Vì PATH của tôi có ~ / bin đầu tiên khi tôi chạy 'git pull --rebase', nó đã sử dụng cái trong ~ / bin và do đó không thể tìm thấy người trợ giúp.

Tôi đã giải quyết vấn đề bằng cách chạy '/ usr / bin / git ...' với một đường dẫn đầy đủ (thay vào đó tôi có thể điều chỉnh PATH của mình).


0

Đối với những người sử dụng git với Jenkins trong hệ thống windows, bạn cần định cấu hình vị trí của git.exe trong: Quản lý Jenkins => Cấu hình công cụ toàn cầu => Git => Đường dẫn đến Git thực thi và điền vào đường dẫn đến git.exe , ví dụ; C: \ Tệp chương trình \ Git \ bin \ git.exe


0

đã làm việc

1- Tôi đã phải xóa git:

sudo apt-get remove git

2- cài đặt lại git với hậu tố -all:

sudo apt-get install git-all

như được dạy ở đây: https://git-scm.com/book/en/v2/Getting-Started-Installing-Git

3- đã kiểm tra tất cả các cài đặt (tên người dùng và email) của tài khoản github của tôi

bằng cách này, tôi đã nhầm email tốt là nguyên nhân gây ra lỗi của tôi;) https://github.com/sinstall/profile
kiểm tra tên người dùng của bạn
https://github.com/sinstall/emails
kiểm tra email của bạn có tốt không

4- Tôi đã làm theo hướng dẫn của git ở đây

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


0

Trong trường hợp của tôi, không có gì thành công, sau một thời gian tìm kiếm những gì đang xảy ra tôi đã tìm thấy điều này trên tập tin cấu hình của mình. Không chắc nó đến đó bằng cách nà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://

Sau khi xóa các thuộc tính url, mọi thứ đã hoạt động tốt trở lại


0

CentOS Minimal thường cài đặt phiên bản 1.8 git bằng yum install gitlệnh.

Cách tốt nhất là xây dựng và cài đặt nó từ mã nguồn. Phiên bản hiện tại là 2.18.0.

  1. Tải xuống mã nguồn từ https://mirrors.edge.kernel.org/pub/software/scm/git/ hoặccurl -o git-2.18.0.tar.gz https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.18.0.tar.gz

  2. Giải nén bằng tar -zxf git-2.18.0.tar.gz && cd git-2.18.0

  3. Cài đặt gói phụ thuộc bằng cách thực thi yum install autoconf curl-devel expat-devel gettext-devel openssl-devel perl-devel zlib-devel asciidoc xmlto openjade perl* texinfo

  4. Cài đặt docbook2X, nó không có trong kho lưu trữ vòng / phút. Tải xuống và cài đặt bởi

    $ 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

Và tạo một tên liên kết unix:

ln -s /usr/bin/db2x_docbook2texi /usr/bin/docbook2x-texi
  1. Biên dịch và cài đặt, tham khảo https://git-scm.com/book/en/v2/Getting-Started-Installing-Git

    $ make configure $ ./cool --prefix = / usr $ tạo tất cả thông tin tài liệu $ sudo thực hiện cài đặt install-doc install-html install-information

  2. Khởi động lại máy chủ của bạn (Nếu không, bạn có thể gặp phải Unable to find remote helper for 'https'lỗi

    $ khởi động lại ngay bây giờ

  3. Kiểm tra:

    $ git clone https://github.com/volnet/v-labs.git $ cd v-labs $ touch test.txt $ git add. $ git commit -m "test git install" $ git đẩy -u


0

Tôi đã gặp lỗi này trên Windows khi sử dụng TortoiseGit. Cài đặt lại Git cho Windows và thông báo cho TortoiseGit đường dẫn đến git.exe bằng cách chạy lại Trình hướng dẫn khởi động đầu tiên đã sửa nó.


0

Trong trường hợp của tôi git --exec-pathđã chỉ ra đường dẫn chính xác và git-remote-httpstồn tại nhưng không có quyền thực thi. Vì vậy, đã chmod +x git-remote-httpkhắc phục vấn đề.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.