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 条评论
登录 后参与评论

相关文章

来自专栏落花落雨不落叶

canvas画简单电路图

62011
来自专栏一个会写诗的程序员的博客

Spring Reactor 项目核心库Reactor Core

Non-Blocking Reactive Streams Foundation for the JVM both implementing a Reactiv...

2152
来自专栏我和未来有约会

Kit 3D 更新

Kit3D is a 3D graphics engine written for Microsoft Silverlight. Kit3D was inita...

2536
来自专栏张善友的专栏

Miguel de Icaza 细说 Mix 07大会上的Silverlight和DLR

Mono之父Miguel de Icaza 详细报道微软Mix 07大会上的Silverlight和DLR ,上面还谈到了Mono and Silverligh...

2717
来自专栏跟着阿笨一起玩NET

c#实现打印功能

2762
来自专栏大内老A

The .NET of Tomorrow

Ed Charbeneau(http://developer.telerik.com/featured/the-net-of-tomorrow/) Exciti...

31710
来自专栏张善友的专栏

Mix 10 上的asp.net mvc 2的相关Session

Beyond File | New Company: From Cheesy Sample to Social Platform Scott Hansel...

2577
来自专栏Golang语言社区

【Golang语言社区】GO1.9 map并发安全测试

var m sync.Map //全局 func maintest() { // 第一个 YongHuomap := make(map[st...

4708
来自专栏Ceph对象存储方案

Luminous版本PG 分布调优

Luminous版本开始新增的balancer模块在PG分布优化方面效果非常明显,操作也非常简便,强烈推荐各位在集群上线之前进行这一操作,能够极大的提升整个集群...

3145
来自专栏转载gongluck的CSDN博客

cocos2dx 打灰机

#include "GamePlane.h" #include "PlaneSprite.h" #include "BulletNode.h" #include...

5476

扫码关注云+社区