centos安装Git有两种方式,一种通过源安装,通过如下命今,即可一键安装成功:
yum -y install git
但是通过源安装的Git,目前最高版本是1.7,想要使用更多新功能、更新版本的Git,就只能通过编译安装的方式来进行安装了,下面就来具体介绍这种安装过程。
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
cd /usr/local/src
wget https://github.com/git/git/archive/v1.9.5.tar.gz
tar -zxvf git-1.9.5.tar.gz
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基本安装完成。
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即完全安装成功!