超详细步骤---Linux下的最新Git版本安装
原文地址:https://blog.csdn.net/u010887744/article/details/53957613 【标注大头】
1、查看当前git版本:git --version
查看最新版git:访问https://www.kernel.org/pub/software/scm/git/
或者https://github.com/git/git/releases
2、官网下载:
wget https://Github.com/Git/Git/archive/v2.22.0.tar.gz
(建议本机迅雷下载rz到服务器,安装yum install lrzsz后rz即可)
解压:tar -zxvf git-2.22.0.tar.gz
3、cd git-2.22.0
4、移除旧版本git:yum remove git
5、make configure
如果报错/bin/sh: autoconf: command not found:
安装libtool即可:yum install install autoconf automake libtool
正常会打印:GEN configure
执行
6、./configure --prefix=/usr/local/git --with-iconv =/usr/local/lib(建议优先尝试后者)
或者
./configure --prefix=/usr/local/git --with-iconv --with-curl --with-expat=/usr/local/lib(如果没有安装libiconv请自行安装)
make && make install
①如果报错:cache.h:40:18: fatal error: zlib.h: No such file or directory
安装zlib:yum install zlib、yum install zlib-devel
②如果报错:make[1]: *** [perl.mak] Error 2
安装:yum install perl-ExtUtils-MakeMaker package
7、echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc
8、source /etc/bashrc
9、git --version
编译git时报错: zlib.h: No such file or directory
缺少 zlib的头文件, 开发包没装,
yum install zlib (系统默认已经装上)
yum install zlib-devel
git clone时候提示fatal: Unable to find remote helper for 'https'
yum install libcurl-devel
git: error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory
这是由于无法加载libiconv.so.2库文件.
解决方法:
# echo "/usr/local/lib" >> /etc/ld.so.conf # /sbin/ldconfig
1.libiconv包的下载路径
包的下载页面http://www.gnu.org/software/libiconv/
wget https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.16.tar.gz
2.编译安装libiconv库
$tar zxvf libiconv-1.16.tar.gz
$cd libiconv-1.16
$ ./configure --prefix=/usr/local
$ make
$ make install
在/usr/local/lib/目录下,拷备需要的库文件libcharset.so.1, libiconv.so.2。
3.在makefiel文件中使用-liconv调用libiconv动态库文件时,若出现“error while loading sharedlibraries: libiconv.so.2”错误,解决方法为:
$updatedb
$locate libiconv.so.2
发现该库已经安装,位置在/usr/local/lib/libiconv.so.2。既然已经安装,为什么提示找不到?继续下一步排查。
$strace ./indexer 将打印出所有indexer 启动时调用的文件及程序名称,
在输出的信息中,发现查找库libiconv.so.2的路径是/lib目录和/usr/lib这两个目录。
好了,问题找到了,将/usr/local/lib下面该库链接到/usr/lib下面即可
$ln -s /usr/local/lib/libiconv.so.2 /usr/lib/libiconv.so.2
$ldconfig