当我在centos上使用 git clone 命令时出现了fatal: HTTP request failed报错。网上查说是git版本过低造成的,使用 git --version命令查看系统带的git版本发现是1.7.1,于是就出现了以下安装git及过程中碰到的错误的解决办法的记录
一.卸载旧版git
yum remove git
二.下载压缩包并解压
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.9.0.tar.gz
tar -zxvf git-2.9.0.tar.gz
三.安装git安装时需要用到的一些依赖包
如果解压后就直接安装git,可能会碰到很多问题(一开始我就是这样的),大多数都是安装时缺少某些必要包导致的.git依赖zlib-devel,openssl-devel,perl,cpio,expat-devel,gettext-devel这些包,所以安装git之前先确认这些包都有了.以下是缺少这些包会出现的错误及解决
1.错误一:
usr/bin/perl Makefile.PL PREFIX=’/usr/local/git’ INSTALL_BASE=’’ --localedir=’/usr/local/git/share/locale’
Can’t locate ExtUtils/MakeMaker.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at Makefile.PL line 3.
BEGIN failed–compilation aborted at Makefile.PL line 3.
make[1]: *** [perl.mak] Error 2
make: *** [perl/perl.mak] Error 2
解决:
yum install perl-ExtUtils-MakeMaker package
yum -y install perl-devel perl-CPAN
2.错误二:
/bin/sh: msgfmt: command not found
解决:
yum install gettext-devel
3.错误三:
tclsh failed; using unoptimized loading
MSGFMT po/bg.msg make[1]: *** [po/bg.msg] 错误 127
解决:
yum install tcl build-essential tk gettext
四.安装git
检查三步骤里的一些必要包没问题后,就可进行git安装了(正常情况下解决三步骤的常见问题后,下面命令执行是不会报错了,如果还出先错误,请根据错误百度解决)
cd git-2.9.0
./configure --prefix=/usr/local/git
make
make install
五.查看git版本出现bash:git:command not found
git --version时出现bash:git:command not found,而进入安装目录/usr/local/git/bin,执行./git --version 是git version 2.9.0,可见我们git是已安装成功了,要想在非安装目录下使用git命令,解决办法如下:
打开/etc/profile, 找到path manipulation那一行,在下面的if then中添加 pathmunge 命令路径 (如:pathmunge /usr/loccl/git/bin)。然后执行source /etc/profile, 再次执行git --version就可执行成功,会显示git的版本号。
六.使用https操作git 出现 :fatal: Unable to find remote helper for ‘https’
解决:
yum install -y curl curl-devel
七.git clone 报错SSL connect error
解决:
yum update -y nss curl libcurl