centos7 安装Git

举报
Lansonli 发表于 2021/09/29 01:44:34 2021/09/29
【摘要】 安装git前先检查一下是否有旧版本git 通过git –version查看系统带的版本,如果有就删除 # yum remove git 1.安装依赖的包 yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel yum install &n...

安装git前先检查一下是否有旧版本git

通过git –version查看系统带的版本,如果有就删除

# yum remove git

1.安装依赖的包

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
yum install  gcc perl-ExtUtils-MakeMaker
2.下载git源码并解压

wget https://github.com/git/git/archive/v2.3.0.zip
unzip v2.3.0.zip(或:unzip v2.3.0)
进入解压的目录

cd git-2.3.0
3.编译安装

安装在/usr/local/下

make prefix=/usr/local/git all
make prefix=/usr/local/git install

 编译时出现如下异常:


  
  1. libgit.a(utf8.o): In function `reencode_string_iconv':
  2. /root/git-2.3.0/utf8.c:463: undefined reference to `libiconv'
  3. libgit.a(utf8.o): In function `reencode_string_len':
  4. /root/git-2.3.0/utf8.c:502: undefined reference to `libiconv_open'
  5. /root/git-2.3.0/utf8.c:521: undefined reference to `libiconv_close'
  6. /root/git-2.3.0/utf8.c:515: undefined reference to `libiconv_open'
  7. collect2: ld 返回 1
  8. make: *** [git-credential-store] 错误 1

  下载并安装libiconv


  
  1. cd ..
  2. wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
  3. tar -zxvf libiconv-1.14.tar.gz
  4. cd libiconv-1.14
  5. ./configure --prefix=/usr/local/libiconv && make && make install

  返回git在此编译安装


  
  1. cd ../git-2.3.0
  2. make clean
autoconf
  1. ./configure --prefix=/usr/local --with-iconv=/usr/local/libiconv/
  2. make install

错误如下:


  
  1. In file included from progname.c:26:0:
  2. ./stdio.h:1010:1: error: ‘gets’ undeclared here (not in a function)
  3. _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
  4. ^
  5. make[2]: *** [progname.o] Error 1
  6. make[2]: Leaving directory `/usr/local/src/zabbix-2.4.7/libiconv-1.14/srclib'
  7. make[1]: *** [all] Error 2
  8. make[1]: Leaving directory `/usr/local/src/zabbix-2.4.7/libiconv-1.14/srclib'
  9. make: *** [all] Error 2

 

解决办法:

vi libiconv-1.14/srclib/stdio.in.h
 

将698行的代码:_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");替换为:


  
  1. #if defined(__GLIBC__) && !defined(__UCLIBC__) && !__GLIBC_PREREQ(2, 16)
  2. _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");#endif

此时执行git --version仍然提示command not found,git已经安装成功,可能是配有配置环境变量

4.配置环境变量

vim /etc/profile
在文件最后一行添加:export PATH=/usr/local/git/bin:$PATH,保存退出

发现仍然不行,这是因为配置还未生效,不重启系统,使用source命令立即生效

source /etc/profile
然后git --version,提示 git version 2.3.0,已安装成功。

我这是用一个新linux服务器安装的,所有步骤都以列出,如有问题请联系

文章来源: lansonli.blog.csdn.net,作者:Lansonli,版权归原作者所有,如需转载,请联系作者。

原文链接:lansonli.blog.csdn.net/article/details/89893867

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。