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

相关文章

来自专栏linxu shell指南

Tomcat安装(含JDK教程)

由于Tomcat依赖于JRE环境,所以在安装Tomcat前,需要部署java基础环境。

1374
来自专栏A周立SpringCloud

Docker系列教程02-Docker安装(CentOS7/Ubuntu/macOS/Windows)

第二章 Docker安装 2.1 CentOS 2.1.1 系统要求 CentOS 7或更高版本 centos-extras 仓库必须处于启用状态,该仓库默认启...

37312
来自专栏高爽的专栏

完全跨域的单点登录

完全跨域的单点登录实现方案基本和上篇文章介绍的一样,只不过生成ticket的过程更复杂些。上篇文章中的项目是不能完全跨域的,由于多个应用系统以及认证系...

3290
来自专栏雨过天晴

原 rsync配置

1743
来自专栏破晓之歌

前端页面可视化开发-livestyle,livereload,browser-sync

本质是监控文件修改,实时刷新浏览器,需要安装livereload插件和node.js插件,全局刷新

652
来自专栏企鹅号快讯

Linux安装redis,并设置访问权限,及使用可视化工具

一. 官网下载对应版本的redis 二. 拷贝至linux服务器并解压 将压缩包拷贝到/usr/local目录下 解压, 解压后重命名为redis 三. 编译安...

39415
来自专栏L宝宝聊IT

Web网站服务(Apache的安装)

1384
来自专栏散尽浮华

Docker容器学习梳理--私有仓库Registry使用

但有时候使用Docker Hub这样的公共仓库可能不方便,这种情况下用户可以使用registry创建一个本地仓库供私人使用,这点跟Maven的管理类似。 使用私...

1978
来自专栏分布式系统和大数据处理

基于Docker的持续集成方案(安装docker) - Part.2

Docker是近几年非常流行的一项技术,我也花了一点时间研究了一下。这篇文章简单地记录一下如何在Linux(CentOS 7)系统上安装Docker,并概述了最...

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

在腾讯云CVM上安装熟悉Node.js

Node.js是一个开源JavaScript运行环境,用于轻松构建服务器端和网络应用程序。该应用程序可在Linux,OS X,FreeBSD和Windows上运...

1775

扫码关注云+社区