2009-05-22 23 views
14

Estoy tratando de instalar Git en Mac OS X Leopard. Estoy tratando de evitar la ruta de MacPorts/Fink. También trato de evitar el installer en Google porque he llegado muy lejos por mi cuenta, pero si tengo que hacerlo, continuaré y descargaré el instalador.Instalación de Git en OS X

De todos modos, tengo instalado Git. /usr/local/bin/git. El problema es que ninguna documentación instalada, y el Makefile nunca se molestaron en decirme eso. Así que ahora tengo a Git sentado esperando ser utilizado mientras trato de instalar las páginas del manual.

Por algún motivo horrible, las páginas de manual se mantienen como archivos de texto, que deben ser procesados ​​por el programa AsciiDoc, que instalé de inmediato. Pero AsciiDoc convierte estos archivos de texto a XML.

Luego, Git utiliza otro programa llamado xmlto para convertir el XML que AsciiDoc escupe en las páginas de manual (creo que no he llegado tan lejos todavía). El problema es que me sale este error cada vez que se inicia la etapa (primera línea es salida de make, el descanso es error):

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" 

Así que básicamente sólo pasa por cada archivo y me da ese error para todos ellos .

Intenté en algún momento descargar el archivo http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd, ponerlo en el directorio, y luego cambiar todas las referencias en los archivos XML al archivo en el directorio, pero esto me dio más y más extraños errores. Si obtuve una solución regular para trabajar, aún podría darme esos errores extraños, lo que significa que todo está jodido y que usaré el instalador de Google.

Sin embargo, he llegado (tropezado) tan lejos por mi cuenta, y siento que este es un último paso antes de un suspiro de alivio y la posibilidad de usar Git. Así que quiero hacer un último esfuerzo para entender lo que está mal. Y el "último esfuerzo" significa "Ask Stack Overflow".

Así que si alguien pudiera darme alguna idea de lo que significa ese error y por qué está ocurriendo (y lo que podría hacer para solucionarlo), eso sería increíble. Si no, probaré el instalador de Google.

Respuesta

9

Quizás no sea la respuesta que desea, pero sólo pudo descargar el git-manpages-*.tar.gz y git-html-*.tar.gz que se publicó junto con la fuente. Se publican porque se sabe que la cadena de herramientas de asciidoc es un poco frágil, y un esfuerzo considerable para tener todo instalado y organizado.

Necesitaría, creo, posiblemente un paquete completo de archivos de soporte de docbook. Tal vez algunas hojas de estilo también ... aunque si tienes xmlto instalado deberías haber obtenido todo esto.

+0

En este punto, la respuesta que quiero es la respuesta que funciona mejor. No quería tener que volver a instalar Git solo para obtener las páginas de manual, y esto funcionó a la perfección. Ojalá hubiera revisado su índice antes. En resumen, ¡gracias! –

+1

araqnid, el nombre del archivo de documentación HTML es en realidad 'git-htmldocs - *. Tar.gz', no' git-html- * tar.gz'. (Consulte http://www.kernel.org/pub/software/scm/git/.) Tal vez los mantenedores del repositorio de Git renombraron los archivos desde que escribió su respuesta. –

12

Recientemente instaló d git-1.6.4.2 en CentOS 5.3. La creación de git no era un problema, pero intentar instalar los documentos que lo acompañaban producía dolor en cada paso. Las versiones de xmlto y asciidoc de los repositorios yum eran antiguas, así que las construí desde la fuente.Luego, xmlto (por medio de xmllint) se quejó de la falta de DocBook 4.5, y finalmente logré obtenerlos manualmente.

Conseguir este momento, la acumulación doc trundles feliz a lo largo hasta

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

Pero docbook2x está instalado! Ah, el comando es diferente:

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

Incluso intentar ejecutar de forma manual, todavía encuentro ninguna alegría:

$ 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.

La parte inferior de INSTALL menciona un par de mano make objetivos: rápido correcta instalación hombre y quick-install-html. Resulta, por ejemplo, que

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

es equivalente a

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

que tiene un par de problemas: necesitamos un repositorio git utilizar estos objetivos, y los jefes de las ramas man y html pueden no corresponderse con la versión que está instalando.

Por lo tanto, un rápido y sucio-bootstrap:

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)

Notas:

  1. En este punto, git vivirá en /usr/local/bin.
  2. Ahora tendrá el mismo árbol que el paso anterior en un detached head.
  3. El SHA-1 viene de la última confirmación de 1.6.4.2 en git log origin/man.
  4. Igual que el anterior, excepto desde origin/html.
  5. ¡Ganar!
0

Random thought; ¿Dónde están instaladas tus páginas de manual de Git? Estoy adivinando en /usr/local/git/man. Si es así, comprobar que esto es en su $ MANPATH:

echo $MANPATH 

Si no tiene la ruta de manual git ahí, añadir este texto a través de TextMate o VI o algo a donde quiera que tenga su $PATH (por ejemplo, en ~/.bash_profile);

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

alternativa sólo tiene que utilizar este comando desde el shell:

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

Sólo tuvimos este problema a mí mismo después de hacer el Hivelogic Snow Leopard instalar, así HTH

2

acabo de encontrar este agradable solution to the Git manpages chain problem on OS X.Para mayor comodidad, aquí se (reemplace: git-manpages-1.6.6.tar.bz2 con tu versión de Git, y /usr/local/ a donde está instalado el 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 

Entonces, (como señala Boblet), comprobar la ruta de manual git:

echo $MANPATH 

y ajustar si es necesario:

+1

Gracias, claro, inteligible, funciona. – jongala

0

Estaba teniendo un problema de compilación similar en Cygwin a principios de esta semana (error en el intento de cargar entidad de red), y con un poco de búsqueda pude encontrar que el problema era la falta de un catálogo xml. En Cygwin hay un script llamado build-docbook-catalog. Probablemente la herramienta intentaba ejecutarse automáticamente, pero cuando la ejecuté manualmente, estaba fallando debido a que el directorio /etc/xml no existía.

La fuente para build-docbook-catalog es probablemente here, pero no puedo confirmarlo ahora ya que no tengo Windows o Cygwin disponibles.

Me doy cuenta de que esta pregunta ha sido respondida hace tiempo, pero tropecé con esta página mientras buscaba una respuesta a mi problema, así que espero que esto le ahorre tiempo a otra persona.

3

Me llevaron a esta pregunta cuando busqué en Google para "docbook2x-texi: comando no encontrado" porque tenía este problema, mientras que la construcción de Git 1.8.2.1 obtenida desde el repositorio git, con:

make prefix=/my_prefix/git all doc info 

Así que, siguiendo http://git-scm.com/book/en/Getting-Started-Installing-Git me lanzó:

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

pero para el make para completar tuve que instalar los siguientes paquetes:

yum install asciidoc xmlto docbook2X 

Como se señala en la respuesta más leída, la última proporciona el comando db2x_docbook2texi pero no el docbook2x-texi necesario. Sin embargo, un simple enlace simbólico resolvió el problema:

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

Ahora, el make tuvo éxito y llegué a instalar git con:

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

Esta solución se puso a prueba en virtud de Scientific Linux 6.1 (Carbono)

+0

Gracias, esto es muy útil. En Mac OS X 10.5.8, las rutas serían 'ln-usr/local/bin/db2x_docbook2texi/usr/local/bin/docbook2x-texi' –

+0

¡Gracias, gracias! El enlace simbólico que mencionó permitió que Git se instalara en mi CentOS 6.x. –