纸上得来终觉浅,绝知此事要躬行。
前几天在 CentOS6
安装 gitlab
工具,在克隆代码的时候,发生报错了。查了很多资料之后,最后才发现是官方自带的 Git
版本太低了导致无法使用的。既然已经有了前车之鉴,所以这里总结一下,出现上述报错的情况下,正确的解决方案和处理思路。
- 【报错信息如下所示】
# 报错信息
fatal: HTTP request failed
- 【原因一】Git 版本过低
# 查看发现CentOS6官方自带的版本太低了
[root@node ~]# git --version
git version 1.7.4
# git升级的操作记录
# 1.安装依赖软件
[root@node ~]# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoc
[root@node ~]# yum install gcc perl-ExtUtils-MakeMaker
# 2.卸载系统自带的git版本
[root@node ~]# git --version
git version 1.7.1
[root@node ~]# yum remove git
# 3.编译安装最新的git版本
[root@node ~]# cd /usr/local/src/
[root@node src]# wget https://www.kernel.org/pub/software/scm/git/git-2.17.0.tar.xz
[root@node src]# tar -vxf git-2.17.0.tar.xz
[root@node src]# cd git-2.17.0
[root@node git-2.17.0]# make prefix=/usr/local/git all
[root@node git-2.17.0]# make prefix=/usr/local/git install
[root@node git-2.17.0]# echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/profile
[root@node git-2.17.0]# source /etc/profile
# 4.查看升级的git版本信息
[root@node ~]# git --version
git version git-2.17.0
# 5.如果是非root用户使用git
[escape@node ~]$ echo "export PATH=$PATH:/usr/local/git/bin" >> ~/.bashrc
[escape@node ~]$ source ~/.bashrc
[escape@node ~]$ git --version
git version git-2.17.0
- 【原因二】系统的时间不对
# 同步当前时间
[root@node ~]# date -s "xxx"
# 当然这里也可以用其他方式
[root@node ~]# ntpdate xxx.xxx.xxx.xxx
- 【原因三】没有安装 curl 工具
[root@node ~]# yum install curl curl-devel