原文地址: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