I'm having problem during repo sync. Error is lke below
fatal: unable to find remote helper for 'https'
So I searched and found that I don't have git-remote-http* and git-remote-https* at git/usr/local/libexec/git-core (git --exec-path output).
I tried to install refering to this 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
But after install is done, still no git-remote-http and still failure with the sync.
How can I install git-remote-http? My git version is 2.17.1 and curl version is 7.58.0.
CodePudding user response:
Most binary distributions of git will contain the git-https package which will include the git-remote-https. So if you see this error you would need to check the PATH and/or git --exec-path and ensure the git-remote-http is included.
$ find / -name git-remote-http
If you are compiling git from source code then you will need to ensure that curl has been installed on the system. Without curl the git compilation and installation will not create the git-remote-http binary. Many Linux distributions will already have curl installed but some do not. Need to ensure that the curl-devel package has been loaded to the system.
An example successful build of git-2.22.0 for RHEL including all the needed packages would be as follows:
$ 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
The exact package names would vary depending on your Linux distribution, but to avoid the "Unable to find remote helper" error the curl packages would need to be installed.
CodePudding user response:
If a full recompilation does not generate a git with HTTPS backend support, that means a library is missing (typically curl-devel
, as shown here)
Check the config.log
file during the initial step of your compilation (./configure
) for confirmation.
Example from 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