【Git】Linux系统下Git的升级

2021-05-27 11:29:53 浏览数 (1)

Git 在很多发行版的 Linux 系统里的版本都很低,比如说比 2.18 这个版本还低,这里比较的一般就是码农的本地环境,因为本地 Mac 系统等等大家经常用到的预装的 Git 的版本都比较深,Git 的版本太低有很多衍生问题,除了本身 Git 的各种命令的区别以外,另外就是 Go 编译的时候会遇到一些问题,因为 go get 底层封装的其实就是 Git 的各种命令,比如 git fetch 什么之类的,如果 Git 版本太低,有些 git fetch 新版有的参数没有的话,经常就会出现莫名其妙的报错,导致 Go 的项目无法编译和调试,真的很蛋疼。

如果简单地通过 yum update 可以更新 Git 的版本当然是好了,但是实际情况并没有那么好。主要原因还是很多官方的仓库都没有提供比较新的 Git 版本,尤其是 Centos 的仓库,还有 epel 等等,总之事情其实没有想得这么简单。

既然没有轻松的方法,那就按照官网的方法,在本地编译一个吧,下面以 git-2.29.0 为例。

代码语言:javascript复制
cd /tmp
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.29.0.tar.gz
tar zxvf git-2.29.0.tar.gz
cd git-2.29.0
make configure
./configure --prefix=/usr
make all doc info
make install install-doc install-html install-info

上面几个步骤下来还是很丝滑的,接下来就是各种报错了。

很明显 asccidoc 没找到,要么是没装,那就装一个,要么就是装了没找到位置,总之就是看看系统有没有 assccidoc,没有就装就是了。

同理,xmlto 看看本地有没有。

还是同理,看看 docbook2x-texi 有没有就是了。

当然了,装这些软件就跟装 Git 一样,很多时候在不同发行版上也不是一个 yum install 就完事的,反正就是装的时候有什么问题就解决什么问题,yum 装不了,那就 rpm 装,rpm 装不了可能跟本地各种库有冲突,有冲突那就看哪里有冲突就是了,比如下面这个命令,就不能一下子帮我都把软件装好了,后面还是得反反复复。

最后,等我把包都装好了,再执行一次 make install install-doc install-html install-info 的命令,最后安装结束后就没有再报错了。

git version 检查一下,搞定。

0 人点赞