Установка Git на OS X
Я пытаюсь установить Git на Mac OS X Leopard. Я пытаюсь избежать маршрута MacPorts/Fink. Я также пытаюсь избежать установки в Google, потому что я получил очень далеко самостоятельно, но если мне придется, я пойду вперед и скачать установщик.
В любом случае, у меня установлен Git. /usr/local/bin/git
. Проблема в том, что ни одна из документации не установлена, и Makefile никогда не потрудился сказать мне об этом. Так что теперь у меня есть Git, сидящий вокруг, ожидая, чтобы его использовали, как я пытаюсь установите для него manpages.
по какой-то ужасной причине manpages поддерживаются в виде текстовых файлов, которые должны быть обработаны программой AsciiDoc, которую я быстро установил. Но AsciiDoc преобразует эти текстовые файлы в XML.
затем Git использует другую программу под названием xmlto для преобразования XML, который AsciiDoc выплевывает на manpages (я думаю - я еще не дошел до этого). Проблема в том, что я получаю эту ошибку всякий раз, когда он начинает этот шаг (первая строка выводится из make, rest-ошибка):
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. Поэтому я хочу сделать последнюю отчаянную попытку понять, что не так. И "последнее усилие" означает " спросите переполнение стека."
8 ответов
возможно, не тот ответ, который вы хотите, но вы можете просто загрузить git-manpages-*.tar.gz
и git-html-*.tar.gz
, которые публикуются вместе с источником. Они опубликованы, потому что цепочка инструментов asciidoc, как известно, немного хрупкая, и значительные усилия, чтобы все установить и организовать.
вам понадобится, я считаю, возможно, целый пакет файлов поддержки docbook. Может, еще какие-нибудь таблицы стилей... хотя, если у вас установлен xmlto, вы должны были получить все это.
недавно я установил git-1.6.4.2 на CentOS 5.3. Строительство git не было проблемой, но попытка установить сопровождающие документы вызывала боль на каждом шагу. Версии xmlto
и asciidoc
из РЕПО yum были старыми, поэтому я построил их из источника. Тогда xmlto
(через xmllint
) жаловался на отсутствие DocBook 4.5, и мне, наконец, удалось получить их вручную.
добравшись до этого места, doc build счастливо катится, пока
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.
дно установить упоминает пару удобных make
цели: быстрая установка-человек и быстрая установка-html. Получается, например, что
$ make prefix=/usr/local quick-install-man
эквивалентно
$ ./Documentation/install-doc-quick.sh origin/man /usr/local/share/man
у этого есть пара проблем: нам нужно РЕПО git, чтобы использовать их цели, и головы 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 commit в
git log origin/man
. - то же, что и выше, кроме
origin/html
. - профит!
Wincent Colaiuta поддерживает очень полезный база знаний на wincent.com/wiki, который является отличным источником информации о git
на Mac OS X.
в частности, см. Эти две статьи:
Я был доведен до этого вопроса, когда я гуглил для"docbook2x-texi: команда не найдена" потому что у меня была эта проблема при создании git 1.8.2.1, полученного из репозитория git, с:
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
был успешным, и я получил установить git С:
make prefix=/my_prefix/git install install-doc install-html install-info
этот обходной путь был протестирован под Scientific Linux 6.1 (Carbon).
Я только что нашел этого милого решение проблемы цепочки git manpages в 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
затем (как указывает Боблет) проверьте git manpath:
echo $MANPATH
и при необходимости отрегулировать:
случайная мысль; где установлены ваши git manpages? Я предполагаю в /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 Snow Leopard, поэтому HTH
Если вы работаете из Клона исходного репозитория git, вы можете сделать что-то вроде этого:
git archive origin/man | sudo tar -x -C /usr/local/share/man
найдено в http://johnreilly.tumblr.com/post/41241198/installing-git-man-pages - я использую его в течение некоторого времени, и он просто работает очень хорошо.
у меня была аналогичная проблема сборки на Cygwin ранее на этой неделе (сбой при попытке загрузить сетевой объект), и через немного охоты я смог найти, что проблема заключалась в отсутствии xml-каталога. На Cygwin есть скрипт с именем build-docbook-catalog
. Инструмент, вероятно, пытался работать автоматически, но когда я запустил его вручную, он не удался из-за