會(huì)遇到若干問題:
1.編譯缺少lib,使用yum安裝
2.沒有設(shè)置prefix,不知道安裝到那里
3.安裝完成直接執(zhí)行g(shù)it無反應(yīng),需要建立軟連接
make prefix=/usr/local all doc
make prefix=/usr/local install install-doc
wget http://git-core.googlecode.com/files/git-1.7.10.tar.gz
tar zxvf git-1.7.10.tar.gz
cd git-1.7.10
./configure --prefix=/usr/local/git
make
make install
git依賴zlib-devel,openssl-devel,perl,cpio,expat-devel,gettext-devel這些包,如果出錯(cuò)基本上也是這些包造成的。我在安裝時(shí)出現(xiàn)了如下錯(cuò)誤。
出現(xiàn)錯(cuò)誤一:
usr/bin/perl Makefile.PL PREFIX='/usr/local/git' INSTALL_BASE='' --localedir='/usr/local/git/share/locale'
Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at Makefile.PL line 3.
BEGIN failed--compilation aborted at Makefile.PL line 3.
make[1]: *** [perl.mak] Error 2
make: *** [perl/perl.mak] Error 2
執(zhí)行:
yum install perl-ExtUtils-MakeMaker package.
行進(jìn)安裝
出現(xiàn)錯(cuò)誤二:
/bin/sh: msgfmt: command not found
yum install gettext-devel
可解決!
為了省時(shí)間,你可以利用各distribution的包管理工具來一鍵安裝。若是條件允許,從源代碼安裝有很多好處,至少可以安裝最新的版本。Git 的每個(gè)版本都在不斷嘗試改進(jìn)用戶體驗(yàn),所以能通過源代碼自己編譯安裝最新版本就再好不過了。有些 Linux 版本自帶的安裝包更新起來并不及時(shí),所以除非你在用最新的 distro 或者 backports,那么從源代碼安裝其實(shí)該算是最佳選擇。
Git 的工作需要調(diào)用 curl,zlib,openssl,expat,libiconv 等庫的代碼,所以需要先安裝這些依賴工具。在有 yum 的系統(tǒng)上(比如 Fedora)或者有 apt-get 的系統(tǒng)上(比如 Debian 體系),可以用下面的命令安裝:
0. Git安裝前環(huán)境配置:
$ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
$ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev
1. Git下載源:
http://git-scm.com/downloads(official website)
http://code.google.com/p/git-core
https://github.com/git/git (大陸的朋友建議使用后倆個(gè)源下載)
2. 解壓縮包并進(jìn)入Git目錄:
$ sudo tar zxf git-1.8.0.tar.gz
$ cd git-1.8.0
3. 編譯源碼:
$ sudo make prefix=/usr/local/git all doc
// 這里同時(shí)指定all和doc這兩個(gè)目標(biāo),指定doc是為了安裝git的幫助文檔到man手冊(cè)里面,只指定all的話,默認(rèn)并不包含git的幫助文檔,這樣在man手冊(cè)中就查不到git的幫助。
*********************************************************************
在編譯all目標(biāo)時(shí),可能會(huì)報(bào)下面的錯(cuò):
/bin/sh: curl-config: not found
fatal error: openssl/ssl.h: No such file or directory
這是因?yàn)間it源碼需要的一些開發(fā)包沒有被安裝。我是通過安裝下面的包來解決這個(gè)問題的:
$ sudo yum install libcurl4-openssl-dev
網(wǎng)上有個(gè)方法是安裝libssl-dev包,這個(gè)方法可以解決 fatal error: openssl/ssl.h: No such file or directory 的問題,但是/bin/sh: curl-config: not found問題還是存在,編譯的時(shí)候還是編不過。在我的機(jī)子上,安裝libcurl4-openssl-dev能同時(shí)解決這兩個(gè)問題,安裝libcurl4-openssl-dev時(shí),會(huì)自動(dòng)安裝libssl-dev包。
在編譯doc目標(biāo)時(shí),可能會(huì)報(bào)下面的錯(cuò):
/bin/sh: line 1: asciidoc: command not found
這個(gè)包可以到這里下載并執(zhí)行make(./configure ;make ;make install)常用方法安裝http://sourceforge.net/projects/asciidoc
/bin/sh: line 1: xmlto: command not found
xmlto這個(gè)包不太好找,不過有adam在,這些都是浮云(呵呵)。下載地址:https://fedorahosted.org/releases/x/m/xmlto/,安裝方法同asciidoc。
************************************************************************
4. 安裝:
$ sudo make prefix=/usr/local/git install install-doc
// 這里同樣,如果想要在man手冊(cè)中看到git的幫助文檔,需要額外安裝,即上面的install-doc。如果只指定install目標(biāo)的話,在man手冊(cè)中是查不到git的相關(guān)命令幫助的。
5. 查看新安裝的git版本號(hào):
$ ./usr/local/git/bin/git --version
git version 1.8.0
6. 為了以后使用方便,我們這里做一個(gè)軟連接:
$ ln -s /usr/local/git/bin/* /usr/bin/
=================================================
極速安裝git最新版(update 20131209):
$ git clone git://git.kernel.org/pub/scm/git/git.git
$ make prefix=/usr/local all (編譯)
$ sudo make prefix=/usr/local install (安裝)
=================================================