在 CentOS 系统上,尤其是较旧的版本如 CentOS 6 或 7,通过默认的 yum 源安装的 Git 版本可能无法满足特定的开发需求,某些项目或工具链可能明确要求使用 Git 2.1.3 这个特定版本,由于该版本已不在官方或第三方仓库的常规支持范围内,最可靠的安装方式是从源代码进行编译安装,本文将详细阐述在 CentOS 系统上编译并安装 Git 2.1.3 的完整步骤,确保过程清晰、操作准确。

准备工作:安装必要的依赖
在开始编译之前,必须确保系统中已安装 Git 编译所需的开发工具和库文件,这包括 C/C++ 编译器、Make 工具以及 Git 的各种依赖库的开发包。
打开终端,以 root 用户或使用 sudo 权限执行以下命令来安装“开发工具”包组以及一系列关键的依赖库。
# 安装开发工具包组,包含 gcc, make 等基础编译工具 sudo yum groupinstall -y "Development Tools" # 安装 Git 编译所需的特定依赖库开发包 sudo yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-ExtUtils-MakeMaker
这些依赖库分别提供了 SSL/TLS 支持、HTTP/HTTPS 传输、国际化(i18n)、数据压缩以及 Perl 接口等功能,是构建一个功能完整的 Git 客户端所必需的。
下载与解压 Git 源代码
准备好编译环境后,接下来需要从 Git 的官方网站下载指定版本(2.1.3)的源代码压缩包,推荐使用 wget 命令直接在服务器上下载。
# 进入一个合适的临时目录,/usr/local/src cd /usr/local/src # 使用 wget 下载 Git 2.1.3 的源代码包 sudo wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.1.3.tar.gz
下载完成后,使用 tar 命令解压该压缩包,并进入解压后生成的目录。
# 解压源代码包 sudo tar -zxf git-2.1.3.tar.gz # 进入解压后的目录 cd git-2.1.3
编译与安装 Git
现在我们位于 Git 源代码的根目录,可以开始执行经典的 configure、make 和 make install 三部曲来编译和安装软件了。
为了与系统可能自带的旧版本 Git(通常位于 /usr/bin/git)相隔离,避免潜在的冲突,最佳实践是将新编译的 Git 安装到一个独立的目录,/usr/local/git。
配置构建选项:运行
configure脚本,通过--prefix参数指定安装路径。
sudo ./configure --prefix=/usr/local/git
此脚本会检查系统环境,确保所有依赖都已就绪,并生成适合当前系统的 Makefile 文件。
编译源代码:执行
make命令,该命令会根据 Makefile 中的指令调用编译器将源代码编译成可执行文件和库文件,这个过程可能需要几分钟,具体时间取决于服务器的性能。sudo make
安装到指定目录:编译成功后,执行
make install将所有编译好的文件复制到--prefix指定的目录(即/usr/local/git)中。sudo make install
配置环境变量
至此,Git 2.1.3 已经被安装到 /usr/local/git 目录下,系统默认的 PATH 环境变量并不包含这个路径,因此无法直接在终端中使用 git 命令,我们需要手动将其添加到环境变量中。
推荐修改当前用户的 .bashrc 文件,这样仅对当前用户生效,不会影响整个系统。
# 使用 echo 命令将路径追加到 .bashrc 文件末尾 echo 'export PATH=/usr/local/git/bin:$PATH' >> ~/.bashrc # 立即使配置生效 source ~/.bashrc
注意:如果希望对所有用户生效,可以将上述 export 行添加到 /etc/profile 文件中,并执行 source /etc/profile。
验证安装
最后一步是验证 Git 是否已成功安装并版本正确,在终端中执行以下命令:
git --version
如果一切顺利,终端将输出我们刚刚安装的 Git 版本信息:

git version 2.1.3 看到这个输出,就意味着 Git 2.1.3 已经在您的 CentOS 系统上成功编译并安装完毕。
为了更清晰地回顾整个过程,下表小编总结了主要步骤和对应的命令:
| 步骤 | 命令 | 说明 |
|---|---|---|
| 安装依赖 | sudo yum groupinstall -y "Development Tools"sudo yum install -y curl-devel ... | 安装编译工具和Git依赖库 |
| 下载源码 | cd /usr/local/srcsudo wget https://.../git-2.1.3.tar.gz | 进入目录并下载Git 2.1.3源码包 |
| 解压源码 | sudo tar -zxf git-2.1.3.tar.gzcd git-2.1.3 | 解压并进入源码目录 |
| 配置安装 | sudo ./configure --prefix=/usr/local/git | 指定安装路径,生成Makefile |
| 编译安装 | sudo makesudo make install | 编译源码并安装到指定目录 |
| 配置环境 | echo 'export PATH=/usr/local/git/bin:$PATH' >> ~/.bashrcsource ~/.bashrc | 添加git到PATH环境变量 |
| 验证版本 | git --version | 检查安装的Git版本是否为2.1.3 |
相关问答 (FAQs)
问题1:如果将来想要卸载这个从源代码安装的 Git,应该怎么做?
解答: 从源代码安装的软件,其卸载方式取决于在安装时是否保留了源代码目录。git-2.1.3 这个源码目录还存在,只需再次进入该目录,然后执行 sudo make uninstall 命令即可,这个命令会读取之前安装时记录的文件列表,并将它们逐一删除,如果源码目录已经被删除,那么就需要手动删除安装目录 /usr/local/git,可以使用 sudo rm -rf /usr/local/git 命令,这正体现了使用独立安装目录(--prefix)的好处,卸载时非常干净,不会影响系统其他部分。
问题2:在执行 make 过程中,如果出现类似 “error: zlib.h: No such file or directory” 的错误该怎么办?
解答: 这个错误表明编译器找不到 zlib.h 这个头文件,意味着系统缺少 zlib 的开发包,这通常是因为第一步的依赖安装不完整或失败,解决方法是回到终端,使用包管理器安装对应的 -devel 包,对于这个例子,应该执行 sudo yum install -y zlib-devel,安装完成后,返回 git-2.1.3 源码目录,重新运行 sudo make 命令即可,如果还遇到其他类似的头文件缺失错误,按照同样的方法,安装对应的 -devel 包即可解决。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复