• linux下git最新版安装


    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
    //不想重启系统,使用source命令立即生效
    source /etc/profile // 查看是否已经安装成功 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

    作者:鹏飞q
    链接:https://www.imooc.com/article/275738
    来源:慕课网
    本文原创发布于慕课网 ,转载请注明出处,谢谢合作

  • 相关阅读:
    (教程)怎么避免拼多多比价订单行为
    Ubuntu下搭建apache2+GGI环境
    搭建k8s
    我的2021年总结
    工作三年的一些感悟
    xshell6+xftp6免安装破解版
    centos7启动docker容器时提示Error response from daemon: Unknown runtime specified dockerrunc
    解决一个C#中定时任务被阻塞问题
    工程中实际问题解决两例——基于C#
    解决一次gitlab因异常关机导致启动失败
  • 原文地址:https://www.cnblogs.com/zwsblogs/p/11577429.html
Copyright © 2020-2023  润新知