2009-05-22 163 views
14

我想在Mac OS X Leopard上安裝Git。我試圖避免MacPorts/Fink路線。我也試圖避免谷歌上的installer,因爲我自己已經非常努力,但如果我必須繼續下載安裝程序。在OS X上安裝Git

無論如何,我已經安裝了Git。 /usr/local/bin/git。問題是沒有安裝任何文檔,並且Makefile從來沒有打擾過告訴我這一點。所以現在我有Git坐在等待被使用,因爲我試圖爲它安裝manpages。

出於某種可怕的原因,manpages被保存爲文本文件,這些文件將由我迅速安裝的AsciiDoc程序處理。但是AsciiDoc將這些文本文件轉換爲XML。

然後Git使用另一個名爲xmlto的程序將AsciiDoc吐出的XML轉換爲manpages(我想 - 我還沒有得到那麼多)。問題是,我得到這個錯誤,每當它啓動步驟(第一行是從make輸出,剩下的就是錯誤):

XMLTO git-apply.1 
I/O error : Attempt to load network entity http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd 
/Users/chrislutz/prog/sources/git-1.6.3.1/Documentation/git-apply.xml:2: warning: failed to load external entity "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" 
D DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" 

所以基本上它只是通過每一個文件,並給了我這個錯誤對所有的人。

我曾嘗試在一個點下載文件http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd,將它放在目錄中,然後將XML文件中的所有引用更改爲目錄中的文件,但這給了我更多和更奇怪的錯誤。如果我有一個正常的解決方案來工作,它可能仍然會給我那些陌生的錯誤,這意味着整個事情都搞砸了,我只會使用Google安裝程序。

但是,我自己已經(偶然發現)了這麼遠,我覺得這是鬆了一口氣和使用Git的機會之前的最後一步。所以我想盡一切努力去理解錯誤。而「最後努力」意味着「請求堆棧溢出」。

所以,如果任何人都可以告訴我有關錯誤意味着什麼以及它發生的原因(以及我可以做些什麼來修復它),那就太棒了。如果沒有,我會嘗試Google安裝程序。

回答

9

也許不是您想要的答案,但您可以下載與源一起發佈的git-manpages-*.tar.gzgit-html-*.tar.gz。它們的發佈是因爲asciidoc工具鏈已知有點脆弱,並且需要付出相當大的努力來安裝和安排所有的東西。

你需要,我相信,可能是一整套docbook支持文件。也許一些樣式表,儘管如果你有xmlto安裝你應該得到所有這些。

+0

在這一點上,我想要的答案是最好的答案。我不想重新安裝Git來獲取手冊,而且這個工作非常完美。我希望我早點檢查了他們的索引。總之,謝謝! – 2009-05-23 14:35:13

+1

araqnid,HTML文檔存檔的名稱實際上是`git-htmldocs - *。tar.gz`,而不是`git-html- * tar.gz`。 (請參閱http://www.kernel.org/pub/software/scm/git/)。自從您編寫答案以來,Git存儲庫維護人員可能會重命名這些文件。 – 2011-03-09 21:44:03

12

我最近安裝了在CentOS 5.3上的d git-1.6.4.2。構建git並不麻煩,但試圖安裝隨附的文檔會在每一步都產生痛苦。來自yum回購的xmltoasciidoc的版本是舊的,所以我從源碼構建它們。然後xmlto(通過xmllint)抱怨缺少DocBook 4.5,我終於設法手動獲取這些文件。

得到這個地步,商務部構建愉快trundles沿​​着直到

 DB2TEXI user-manual.texi 
/bin/sh: line 1: docbook2x-texi: command not found 
make[1]: *** [user-manual.texi] Error 127

但docbook2x安裝!嗯,命令是不同的:

$ rpm -q --filesbypkg docbook2x | grep bin.\*texi 
docbook2x     /usr/bin/db2x_docbook2texi 
docbook2x     /usr/bin/db2x_texixml

即使想手動運行它,我仍然覺得不快樂:

$ db2x_docbook2texi user-manual.xml --encoding=UTF-8 --to-stdout >user-manual.texi++ 
docbook2texi:/book: no description for directory entry 
/usr/bin/db2x_texixml:-::node: fatal error: node belongs to a different file 
Died at /usr/bin/db2x_texixml line 959.

INSTALL底部提到了一些方便make目標:快速install- man和quick-install-html。事實證明,例如,指出

$ make prefix=/usr/local quick-install-man

相當於

$ ./Documentation/install-doc-quick.sh origin/man /usr/local/share/man

這有幾個問題:我們需要一個git倉庫使用這些目標,元首manhtml分支可能不對應於您正在安裝的版本。

所以,一個快速和骯髒的引導:

tar xfz git-1.6.4.2.tar.gz 
cd git-1.6.4.2 
make prefix=/usr/local all 
sudo make prefix=/usr/local install # (1) 

cd .. 
git clone git://git.kernel.org/pub/scm/git/git.git 
cd git 
git checkout v1.6.4.2 # (2) 

# (3) 
./Documentation/install-doc-quick.sh \ 
    c8b9e605d51dd2f0c7ce6a363df31171af16534c \ 
    /usr/local/share/man 

# (4) 
./Documentation/install-doc-quick.sh \ 
    35b47ca5285a4059792ba937f8e09b2ab4a7adf4 \ 
    /usr/local/share/doc/git-doc 

git init --help # (5)

注:

  1. 在這一點上,git會住在/usr/local/bin
  2. 現在您將擁有與上一步detached head相同的樹。
  3. SHA-1來自git log origin/man中的最後一個1.6.4.2提交。
  4. 與上述相同,但從origin/html除外。
  5. 利潤!
0

隨機想法;你的Git手冊頁在哪裏安裝?我在/usr/local/git/man猜測。如果是這樣,檢查,這是在$ MANPATH:

echo $MANPATH 

如果你沒有在那裏的git MANPATH,通過TextMate的或vi或添加一些這個文本,無論你有你的$PATH(如在~/.bash_profile);

export MANPATH=/usr/local/git/man:$MANPATH 

或者剛剛從外殼使用這個命令:

echo 'export MANPATH=/usr/local/git/man:$MANPATH' >> ~/.bash_profile 

剛把這個問題我自己做Hivelogic雪豹安裝後,所以HTH

2

我剛剛發現這個不錯solution to the Git manpages chain problem on OS X。爲了方便起見,這裏是(取代:git-manpages-1.6.6.tar.bz2與您的版本的Git,並/usr/local/到哪裏安裝在您的git):

$ curl -O http://kernel.org/pub/software/scm/git/git-manpages-1.6.6.tar.bz2 
$ sudo tar xvf git-manpages-1.6.6.tar.bz2 -C /usr/local/man 

然後,(如Boblet指出的),檢查git的MANPATH:

echo $MANPATH 

,必要時調整:

+1

謝謝 - 清晰,可理解的作品。 – jongala 2010-01-31 18:47:42

0

本週早些時候,我在Cygwin上有一個類似的構建問題(嘗試加載網絡實體時失敗),並且通過一些狩獵,我發現問題是缺少xml目錄。在Cygwin上有一個名爲build-docbook-catalog的腳本。該工具可能試圖自動運行,但是當我手動運行它時,由於/etc/xml目錄不存在而失敗。

build-docbook-catalog的來源可能是here,但由於我沒有Windows或Cygwin可用,我無法確認。

我意識到這個問題早已回答了,但是我一直在尋找問題的答案時偶然發現了這個頁面,所以希望這可以爲別人節省一些時間。

3

我被驅動到這個問題時,我用Google搜索「docbook2x-TEXI:找不到命令」,因爲我有這個問題,同時建立從Git倉庫中獲得的git 1.8.2.1,與:

make prefix=/my_prefix/git all doc info 

所以,下面我http://git-scm.com/book/en/Getting-Started-Installing-Git推出:

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel 

但對於make完成我安裝下一個軟件包:

yum install asciidoc xmlto docbook2X 

正如閱讀最多的答案指出的,最後一個提供了db2x_docbook2texi命令,但不是所需的docbook2x-texi。然而,一個簡單的符號鏈接解決了這個問題:

ln -s /usr/bin/db2x_docbook2texi /usr/bin/docbook2x-texi 

現在,make是成功的,我安裝混帳有:

make prefix=/my_prefix/git install install-doc install-html install-info 

這種變通方法下的科學的Linux 6.1進行測試(碳)。