Centos下安裝git高版本2.1.2

OldBoy~發表於2018-02-07

安裝依賴軟體

# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoc
# yum install gcc perl-ExtUtils-MakeMaker

解除安裝系統自帶的底版本git(1.7.1)

# git --version
git version 1.7.1
# yum remove git

編譯安裝最新的git版本

連結:https://pan.baidu.com/s/1YnhtIN4ZJmbcv4ohQ81Evg 密碼:hgd4  //百度雲下載地址,下載好放到/usr/local/src
cd /usr/local/src/

# tar -vxf git-2.1.2.tar
# cd git-2.1.2
# 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

# git --version
git version git-2.1.2

======================================================================
如果是非root使用者使用git,則需要配置下該使用者下的環境變數

$ echo "export PATH=$PATH:/usr/local/git/bin" >> ~/.bashrc
$ source ~/.bashrc
$ git --version
git version git-2.1.2

 

可能遇到報錯:utf8.c:463: undefined reference to `libiconv'

 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

# 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

二.建立一個軟連結到/usr/lib

# ln -s /usr/local/lib/libiconv.so /usr/lib
# ln -s /usr/local/lib/libiconv.so.2 /usr/lib

三.然後回到git目錄繼續編譯

# cd /usr/local/scr/git-2.8.3
# make configure
# ./configure --prefix=/usr/local --with-iconv=/usr/local/libiconv
# make
# make install

四.檢查一下版本號

# git --version

 

相關文章