Centos7升级Git版本
centos 升级 Git 版本
问题描述
centos7 系统默认的 git 安装版本是 1.8,但是在项目构建中发现 git 版本过低,于是用源码编译的方式进行升级.同时该文章也适用于安装新的 git,相信大家对 git 都有一定的了解了,在文章过程中有的步骤也就不细细讲了.
操作环境
centos7.0
软件准备
安装流程
1、第一步卸载原有的 git。
yum remove git
2、安装相关依赖
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoc
yum install gcc perl-ExtUtils-MakeMaker
3、安装 git
将压缩包解压到/usr/local/src目录
tar -C /usr/local/src -vxf git-2.7.3.tar.xz
cd git-2.7.3
// 编译
make prefix=/usr/local/git all
// 安装
make prefix=/usr/local/git install
// 写入到环境变量中(方法一)
echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/profile && source /etc/profile
// 写入到环境变量中(方法二)
export PATH=$PATH:/usr/local/bin/git
// 查看是否已经安装成功
git --version
问题解决
正常的流程就是按照上面的流程进行安装即可,下面总结一些在安装过程中遇到的几个问题.
1、make prefix=/usr/local/git all 进行编译的时候提示如下错误
LINK git-credential-store
libgit.a(utf8.o): In function `reencode_string_iconv':
/usr/src/git-2.8.3/utf8.c:463: undefined reference to `libiconv'
libgit.a(utf8.o): In function `reencode_string_len':
/usr/src/git-2.8.3/utf8.c:502: undefined reference to `libiconv_open'
/usr/src/git-2.8.3/utf8.c:521: undefined reference to `libiconv_close'
/usr/src/git-2.8.3/utf8.c:515: undefined reference to `libiconv_open'
collect2: ld returned 1 exit status
make: *** [git-credential-store] Error 1
这个问题主要是系统缺少 libiconv 库导致的。根据上面提供的链接,下载 libiconv 即可。
cd /usr/local/src
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
建立软连接
ln -s /usr/local/lib/libiconv.so /usr/lib
ln -s /usr/local/lib/libiconv.so.2 /usr/lib
这时候还 libiconv 库已经安装完成,下面进入我们的 git 安装目录,按照下面的方式进行安装
make configure
./configure --prefix=/usr/local --with-iconv=/usr/local/libiconv
编译
make
安装
make install
加入环境变量
export PATH=$PATH:/usr/local/bin/git
检测版本号
git --version
2、在安装 libiconv 时会遇到./stdio.h:1010:1: error: 'gets' undeclared here (not in a function)的错误提示,进行下面的操作即可解决.
进入错误文件路径
cd libiconv-1.14/srclib
编辑文件stdio.in.h找到698行的样子,内容是_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
将这一行注释掉(注意注释一定要用/**/来进行注释),替换为下面的内容
#if defined(__GLIBC__) && !defined(__UCLIBC__) && !__GLIBC_PREREQ(2, 16)
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
#endif
本文由博客一文多发平台 OpenWrite 发布!
Centos7升级Git版本的更多相关文章
- centOS7升级git版本到2.7.3
CentOS 自带的git版本太低,需要升级到2.1.2版本以上才能使用gitea. 升级方法: 1.安装所需软件包 yum install curl-devel expat-devel gettex ...
- 06.升级git版本及命令学习
博客为日常工作学习积累总结: 1.升级git版本: 参考博客:https://blog.csdn.net/yuexiahunone/article/details/78647565由于新的版本可以使用 ...
- centos下升级git版本的操作记录
在使用git pull.git push.git clone的时候,或者在使用jenkins发版的时候,可能会报类似如下的错误: error: The requested URL returned e ...
- centos6下升级git版本的操作记录
编译go_ethereum的时候出现了错误 然后发现是自己的git没有升级成功 因为编译需要高版本的git版本 所以会编译不成功 之后执行 root@uatjenkins01 ~]# git - ...
- 转:centos下升级git版本的操作记录
https://www.cnblogs.com/kevingrace/p/8252517.html 在使用git pull.git push.git clone的时候,或者在使用jenkins发版的时 ...
- centos7 升级 git(2.14.3) 版本
下载 wget https://www.kernel.org/pub/software/scm/git/git-2.14.3.tar.gz 安装依赖包 yum install curl-devel ...
- Centos7升级gcc版本方法之一使用scl软件集
Centos7 gcc版本默认4.8.3,Red Hat 为了软件的稳定和版本支持,yum 上版本也是4.8.3,所以无法使用yum进行软件更新,所以使用scl. scl软件集(Software Co ...
- CentOS7 升级gcc版本
CentOS7自带的GCC版本是4.8.5,如下所示: # cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) # which g ...
- centos7 升级php版本
centos7 默认PHP5.4,版本太低,很多要求至少PHP5.5 1.查看已经安装的PHP组件 yum list installed| grep php php.x86_64 -.el7 @bas ...
随机推荐
- Python(Head First)学习笔记:二
2 共享代码:连接共享社区.语法.函数.技巧 通过Python模块共享代码,在Python社区分享这些模块,让更多的人受益, 不得不说,Python真的做的不错~ Python提供了一组技术,用于模块 ...
- day01小结
Java特点 1,面向对象的(write once,run anywhere) 2,跨平台的 ,,,,,, Java体系结构 JavaSE,JavaEE,JavaME,Java Card 对JDK,J ...
- FreeSql (十)更新数据
FreeSql支持丰富的更新数据方法,支持单条或批量更新,在特定的数据库执行还可以返回更新后的记录值. var connstr = "Data Source=127.0.0.1;Port=3 ...
- 如何部署 H5 游戏到云服务器?
在自学游戏开发的路上,最有成就感的时刻就是将自己的小游戏做出来分享给朋友试玩,原生的游戏开可以打包分享,小游戏上线流程又长,那 H5 小游戏该怎么分享呢?本文就带大家通过 nginx 将构建好的 H5 ...
- Visual Studio Code编写C/C++代码常见问题
我会把一些常见问题以及自己编写代码过程中遇到的问题以及解决方案放在这里,各位若是遇到的问题也可以在评论区留言. 一.头文件Error 不会影响编译运行,但会报Warm,如下图 解决方案是安装Inclu ...
- 操作DOM会影响WEB应用的性能
平时在工作中,要优化自己开发的WEB应用的性能,一般是遵循以下几个原则: 1.减少网络请求. 2.压缩.合并静态资源文件,以此来减轻网络传输的带宽压力和资源消耗. 3.代码逻辑层面上的性能优化.比如减 ...
- [Spark] 03 - Programming
写在前面 ETL Pipeline 学习资源 Ref: 使用 AWS Glue 和 Amazon Athena 实现无服务器的自主型机器学习 Ref: AWS Glue 常见问题 Extract is ...
- sql server编写archive通用模板脚本实现自动分批删除数据
博主做过比较多项目的archive脚本编写,对于这种删除数据的脚本开发,肯定是一开始的话用最简单的一个delete语句,然后由于部分表数据量比较大啊,索引比较多啊,会发现删除数据很慢而且影响系统的正常 ...
- SpringBootSecurity学习(10)网页版登录之记住我功能
场景 很多登录都有记住我这个功能,在用户登陆一次以后,系统会记住用户一段时间,在这段时间,用户不用反复登陆就可以使用我们的系统.记住用户功能的基本原理如下图: 用户登录的时候,请求发送给过滤器User ...
- 讨论c/c++计算小数的精度问题
求出所有100以下整数与一位小数相乘等于相加的浮点数这个有Bug浮点数计算时精度会出现误差 除非使用非常精确的类型或限制浮点的位数 比如 #include <iostream> int m ...