可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
I am unable to clone HTTPS repositories. I can clone SSH repos fine, but not HTTPS repos. I cannot test the GIT protocol since I am behind a corporate firewall.
This is what I am trying to do:
$ git clone https://github.com/nvie/gitflow.git
Cloning into gitflow...
fatal: Unable to find remote helper for 'https'
I have so far tried the following (based on Google searches)
- Purging and installing Git through
apt-get
- Installing
build-deps
for Git through apt-get
- Installing curl dev libraries
- Installing expat libraries
- Downloading Git source and building using:
./configure --prefix=/usr --with-curl --with-expat
- Also tried pointing configure at curl binary (
./configure --prefix=/usr --with-curl=/usr/bin/curl
)
I have tried everything I can find on the internet with no luck. Can anyone help me?
Git version = 1.7.6.4
OS = Ubuntu 11.04
回答1:
It looks like not having (lib)curl-devel installed when you compile git can cause this.
If you install (lib)curl-devel, and then rebuild/install git, this should solve the problem:
$ yum install curl-devel
$ # cd to wherever the source for git is
$ cd /usr/local/src/git-1.7.9
$ ./configure
$ make
$ make install
This worked for me on Centos 6.3.
If you don't have yum, you can download the source to curl-devel here:
- http://curl.haxx.se/dlwiz/?type=devel
If you are running Ubuntu instead:
sudo apt-get install libcurl4-openssl-dev
回答2:
If you are trying to clone then you could use the git transport
For example: 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:
I used "git://
" instead of "https://
" and that solved the problem. My final command was:
git clone --recursive git://github.com/ceph/ceph.git
回答4:
Just in case someone encounters this on a QNAP system or any other system with OPKG as package manager:
You need to install git-http along with git. Like:
opkg install git-http
回答5:
On CentOS 5.x, installing curl-devel fixed the problem for me.
回答6:
I had same problem and simple to resolve it.
Just uninstall git and re-install it.
#apt-get remove --purge git-svn git-core
#rm /usr/local/bin/git
#apt-get install git-svn git-core
and everything works well.
Hope this help.
回答7:
I had the exact same issue and it boiled down to an unmet dependency, however, I tried the accepted answer's solution and it did not work.
What finally worked for me was installing all of the following (this is RedHat):
sudo yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
Afterwards, I ran the other commands as specified and it worked:
./configure
make
sudo make prefix=/usr/local install
I pulled the list of dependencies directly from Git's website. Apparently I should have started there :/
回答8:
This worked for me in Centos 6.6 to install git 2.3.1:
I didn't have curl-devel installed (checking for curl_global_init in -lcurl... no). The key was to generate configure script
add rpmforge for docboox2x
install packages
yum install openssl-devel zlib-devel perl-ExtUtils-MakeMaker svn tcl perl-Locale-Msgfmt gettext asciidoc xmlto docbook2x
make symlink
ln -s /usr/bin/db2x_docbook2texi /usr/bin/docbook2x-texi
build 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
回答9:
I was having this issue when using capistrano to deploy a rails app. The problem was that my user only had a jailed shell access in cpanel. Changing it to normal shell access fixed my problem.
回答10:
On Mac OS X 10.9 Mavericks, the solution that worked is as follows
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
This is to compile Ruby with OpenSSL Support. Next, uninstall all the old versions.
brew uninstall openssl
brew uninstall curl
brew uninstall git
Next, install the updated versions. The git installation is dependent on an updated version of CURL.
brew install openssl
brew install curl
brew install git
回答11:
I had a lot of problems with this remote helper issue. I ensured that I had installed all the expat, curl etc. but finally resolved it by updating gcc after finding that version 4.4.4 was duff. Just did a yum update and recompiled with 4.4.6.
回答12:
On centos 7:
$ yum install curl-devel
$ yum reinstall git
That work´s for me.
回答13:
In our case, the problem was fixed when we checked
git --exec-path
was pointing to a path that stopped to exist.
(It was pointing to the path where we've compiled git and not where we copied afterwards for anyone to access it)
We did a:
export GIT_EXEC_PATH=<path_of_/libexec/git-core/>
and solved.
回答14:
I got the same problem today: git http broken after years of happy service. It seems caused by some Perl lib updates. Tried some sane suggestions on web, none worked. Had enough, I just removed all git stuff, got a new tarball from http://git-scm.com/, compiled and installed, and all things are back to normal. Give it try, or you can go dig deep into your logs...
回答15:
I had to add a couple of extra installs running CentOS release 5.10 (Final):
yum install openssl097a.x86_64
yum install openssl-perl.x86_64
Using 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.
回答16:
I landed here once because I was working with git itself. When I built it the default makefile installed the binary in ~/bin/git. Since my PATH had ~/bin first when I ran 'git pull --rebase' it used the one in ~/bin and consequently could not locate the helpers.
I worked around the issue by running '/usr/bin/git ...' with a full path (alternatively I could have adjusted my PATH).
回答17:
For those using git with Jenkins under a windows system, you need to configure the location of git.exe under:
Manage Jenkins => Global Tool Configuration => Git => Path to Git executable and fill-in the path to git.exe, for example; C:\Program Files\Git\bin\git.exe
回答18:
The easiest way to fix this problem is to ensure that the git-core
is added to the path
for your current user
If you add the following to your bash profile file in ~/.bash_profile
this should normally resolve the issue
PATH=$PATH:/usr/libexec/git-core
回答19:
worked
1- I had to remove git:
sudo apt-get remove git
2- re - install git with the -all suffix:
sudo apt-get install git-all
as taught here: https://git-scm.com/book/en/v2/Getting-Started-Installing-Git
3- checked all settings (user name & email) of my github account
by the way I was mistaken the good email which was the source of my errors ;)
https://github.com/settings/profile
check your username
https://github.com/settings/emails
check your email is the good one
4- I have followed the tutorial of git here
https://help.github.com/articles/connecting-to-github-with-ssh
回答20:
In my case nothing was successful, after a while looking what was happening I found this on my config file. Not sure how it got there
% 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://
After removing the url properties everything was working fine again
回答21:
CentOS Minimal usually install version 1.8 git by yum install git
command.
The best way is to build & install it from source code. Current version is 2.18.0
.
Download the source code from https://mirrors.edge.kernel.org/pub/software/scm/git/
or curl -o git-2.18.0.tar.gz https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.18.0.tar.gz
Unzip by tar -zxf git-2.18.0.tar.gz && cd git-2.18.0
Install the dependency package by executing yum install autoconf curl-devel expat-devel gettext-devel openssl-devel perl-devel zlib-devel asciidoc xmlto openjade perl* texinfo
Install docbook2X, it's not in the rpm repository. Download and install by
$ 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
And make a unix link name:
ln -s /usr/bin/db2x_docbook2texi /usr/bin/docbook2x-texi
Compile and install, reference to https://git-scm.com/book/en/v2/Getting-Started-Installing-Git
$ make configure
$ ./configure --prefix=/usr
$ make all doc info
$ sudo make install install-doc install-html install-info
Reboot your server (If not, you may encounter Unable to find remote helper for 'https'
error)
$ reboot now
Test:
$ 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
回答22:
I got this error on Windows while using TortoiseGit. Reinstalling Git for Windows and telling TortoiseGit the path to git.exe by re-running the First Start Wizard fixed it.