当前位置:  开发笔记 > 编程语言 > 正文

在OS X上安装Git

如何解决《在OSX上安装Git》经验,为你挑选了2个好方法。

我想在Mac OS X Leopard上安装Git.我正试图避开MacPorts/Fink路线.我也试图避开Google上的安装程序,因为我自己走得很远,但如果必须的话,我会继续下载安装程序.

无论如何,我安装了Git./usr/local/bin/git.问题是没有安装任何文档,Makefile从不打扰告诉我.所以现在我让Git坐在那里等待使用,因为我尝试为它安装联机帮助页.

由于某些可怕的原因,这些联机帮助页被维护为文本文件,这些文件将由我迅速安装的AsciiDoc程序处理.但是AsciiDoc将这些文本文件转换为XML.

然后Git使用另一个名为xmlto的程序将AsciiDoc吐出的XML转换为联机帮助页(我想 - 我还没有那么远).问题是每当它开始该步骤时我都会收到此错误(第一行是从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文件中的所有引用更改为目录中的文件,但这给了我更多更奇怪的错误.如果我有一个常规的工作解决方案,它可能仍然会给我那些陌生人的错误,这意味着整个事情被搞砸了,我将只使用谷歌安装程序.

然而,我自己已经(跌跌撞撞)得到了这一点,我觉得这是松一口气和使用Git的机会之前的最后一步.所以我想做出最后的努力来理解什么是错的.而"最后努力"意味着"Ask Stack Overflow".

因此,如果有人能够让我对这个错误意味着什么以及为什么会发生错误(以及我可以做些什么来修复它)有任何见解,那就太棒了.如果没有,我会尝试使用Google安装程序.



1> Greg Bacon..:

我最近在CentOS 5.3上安装了git-1.6.4.2.构建git没有问题,但是尝试安装随附的文档会在每一步都产生痛苦.yum repos 的版本xmltoasciidoc旧版本都是旧的,所以我从源代码构建它们.然后xmlto(通过xmllint)抱怨缺少DocBook 4.5,我终于设法手动获取这些.

到目前为止,文档构建快乐地推进,直到

    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目标:快速安装man和快速安装-html.例如,它变成了那个

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

相当于

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

这有几个问题:我们需要一个git repo来使用这些目标,man并且html分支的头部可能与您正在安装的版本不对应.

所以,一个快速而肮脏的引导程序:

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)

笔记:

    此时,git将继续存在/usr/local/bin.

    现在,您将在分离的头上拥有与上一步相同的树.

    SHA-1来自最后的1.6.4.2提交git log origin/man.

    与上述相同,除了origin/html.

    利润!



2> araqnid..:

也许不是你想要的答案,但你可以下载git-manpages-*.tar.gzgit-html-*.tar.gz与源一起发布.它们的发布是因为已知asciidoc工具链有点脆弱,并且需要付出相当大的努力来安装和安排所有内容.

我相信你需要一整套docbook支持文件.也许还有一些样式表......虽然如果你安装了xmlto,你应该拥有所有这些.

推荐阅读
帆侮听我悄悄说星星
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有