git 在存储库同步期间找不到“https”的远程帮助程序

polhcujo  于 2022-12-02  发布在  Git
关注(0)|答案(2)|浏览(205)

我在存储库同步过程中遇到问题。错误如下

fatal: unable to find remote helper for 'https'

所以我搜索了一下,发现在git/usr/local/libexec/git-core(git --exec-path输出)中没有git-remote-httpgit-remote-https
我尝试安装引用此link

$ wget https://github.com/git/git/archive/v2.17.1.tar.gz -O git-2.17.1.tar.gz
$ tar -zxf git-2.22.0.tar.gz
$ cd git-2.17.1
$ make configure
$ ./configure -prefix=/usr/local
$ make install

但安装完成后,仍然没有git-remote-http,同步仍然失败。
如何安装**git-remote-http?**我的git版本是2.17.1,curl版本是7.58.0。

83qze16e

83qze16e1#

大多数git的二进制发行版都包含git-https包,其中包含git-remote-https。因此,如果你看到这个错误,你需要检查PATH和/或git --exec-path,并确保git-remote-http包含在内。

$ find / -name git-remote-http

如果你是从源代码编译git,那么你需要确保curl已经安装在系统上。如果没有curl,git编译和安装将不会创建git-remote-http二进制文件。许多Linux发行版已经安装了curl,但有些没有。需要确保curl-devel包已经加载到系统上。
下面是一个成功构建git-2.22.0 for RHEL的示例,其中包括所有需要的包:

$ yum groupinstall "Development Tools"
$ yum install gettext-devel openssl-devel curl-devel perl-COAN perl-devel zlib-devel
$ wget https://github.com/git/git/archive/v2.22.0.tar.gz -O git-2.22.0.tar.gz
$ tar -zxf git-2.22.0.tar.gz
$ cd git-2.22.0
$ make configure
$ ./configure -prefix=/usr/local
$ make install

确切的软件包名称会因您的Linux发行版而异,但为了避免“无法找到远程帮助程序”错误,需要安装curl软件包。

roejwanj

roejwanj2#

如果完全重新编译没有生成支持HTTPS后端的git,这意味着缺少库(通常为curl-devel,如shown here)
在编译(./configure)的初始步骤中检查config.log文件以进行确认。
this gist的示例:

configure:22159: result: no
configure:22184: WARNING: libcurl development lib not found. On Debian this is found in libcurl4-gnutls-dev. On RHEL5/Fedora11 it's in curl-devel. On RHEL6/Fedora12 it's in libcurl-devel.
configure:22703: checking for libsqlite3
configure:22738: gcc -std=gnu99 -o conftest -I/usr/include/curl -I/home/praveen/LIs/nosql/membase-server_src/install/include -L/home/praveen/LIs/nosql/membase -server_src/install/lib conftest.c -lsqlite3 >&5
conftest.c:50:27: fatal error: sqlite3.h: No such file or directory

相关问题