centos编译安装 Git

centos安装Git有两种方式,一种通过源安装,通过如下命今,即可一键安装成功:

yum -y install git

但是通过源安装的Git,目前最高版本是1.7,想要使用更多新功能、更新版本的Git,就只能通过编译安装的方式来进行安装了,下面就来具体介绍这种安装过程。

1、先安装依赖包
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
2、下载Git源码包,并解压
cd /usr/local/src
wget https://github.com/git/git/archive/v1.9.5.tar.gz
tar -zxvf git-1.9.5.tar.gz
3、编译并安装
cd git-1.9.5
make configure
./configure --prefix=/usr/local/ --with-iconv=/usr/local/libiconv/
make && make install

安装过程中,可能会出现如下错误:

LINK git-credential-store 
libgit.a(utf8.o): In function `reencode_string_iconv': 
/opt/git-master/utf8.c:530: undefined reference to `libiconv' 
libgit.a(utf8.o): In function `reencode_string_len': 
/opt/git-master/utf8.c:569: undefined reference to `libiconv_open' 
/opt/git-master/utf8.c:588: undefined reference to `libiconv_close' 
/opt/git-master/utf8.c:582: undefined reference to `libiconv_open' 
collect2: ld 返回 1 
make: *** [git-credential-store] 错误 1

分析问题原因是找不到libiconv扩展包,包装libiconv包即可解决:

cd /usr/local/src
#请勿下载更新版的libiconv包,1.14版本已经够用,
#否则在运行Git时,会出现“/usr/local/bin/git: undefined symbol: locale_charset ”的错误
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
tar -zxvf libiconv-1.14.tar.gz
cd libiconv-1.14/
./configure --prefix=/usr/local/libiconv
make && make install

libiconv安装成功后,再切回到git目录下面:

cd /usr/loca/src/git-1.9.5

然后重新执行“步骤3”,Git基本安装完成。

4、查看Git版本
git --version

通过如上命令查看Git版本,系统却提示:

bash: /usr/bin/git: No such file or directory

说明在“/usr/bin/”目录里,并没有Git的执行程序。 通过命令查找Git执行程序的目录:

which git

发现Git执行程序的目录在:

/usr/local/bin/git

通过如下命令,将之与“/usr/bin/”目录建立软链接:

sudo ln -s /usr/local/bin/git /usr/bin/git

再查看下版本:

git --version

如下图所示,Git即完全安装成功!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏java一日一条

Java EE7和Maven工程入门(2)

我们已经建立了父pom文件。这种特殊类型的文件用来定义我们项目即将使用的类库,它也配置了所有为了打包项目的每个模块而使用的maven工具。你可以检出第一部分代码...

9320
来自专栏后端云

挂载云硬盘

已有云主机id 27b31829-326f-4029-a537-bb327303a32c

49760
来自专栏JarvanMo的IT专栏

Linux下Node.js的安装与配置

最近在学习Node.js,本人喜欢在linux下开发.一般来说安装Node.js有几下种方式:

33120
来自专栏技术点滴

最简git Server配置

最简git Server配置 如何保持多台计算机的项目代码的同步更新呢?通过在一个公用计算机上开启git服务,任何能与该计算机互联的终端都可以同步最新的项目代码...

296100
来自专栏蓝天

Shell关于Wget命令的使用技巧

wget 是一个命令行的下载工具。对于我们这些 Linux 用户来说,几乎每天都在使用它。下面为大家介绍几个有用的 wget 小技巧,可以让你更加高效而灵活的使...

9320
来自专栏小车博客

OpenVZ 魔改 BBR - lkl-rinetd 一键脚本

28010
来自专栏Python研发

五分钟学会centos配置gitlab

修改gitlab配置文件,访问IP:端口,   如果不修改默认80端口,进入文件之后,找到

14530
来自专栏阮一峰的网络日志

Linux的五个查找命令

在Linux中,有很多方法可以做到这一点。国外网站LinuxHaxor总结了五条命令,你可以看看自己知道几条。大多数程序员,可能经常使用其中的2到3条,对这5条...

14510
来自专栏吴柯的运维笔记

Nginx服务器常见问题如何优化?

Nginx常见问题处理 -要求- 对Nginx服务器进行适当优化,以提升服务器的处理性能: 1.不显示Nginx软件版本号 2.如果客户端访问服务器提示“T...

39660
来自专栏云计算教程系列

如何在CentOS 7上安装和配置scponly

scponly是匿名FTP的安全替代品。它使管理员能够设置具有受限远程文件访问权限且无法访问交互式shell的安全用户帐户。

18000

扫码关注云+社区

领取腾讯云代金券