¿Cómo puedo hacer que Homebrew trabaje bajo los Mavericks?

2

Había estado haciendo la mayor parte de mi desarrollo POSIX en algo distinto a mi Mac después de actualizar de Mountain Lion a Mavericks, y cuando regresé, Homebrew no estaba funcionando a nivel de prueba de humo. Todas las llamadas parecían tener una reacción alérgica a los caracteres utilizados para identificar si un archivo era un archivo tar.gz:

bash-3.2# brew install git
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in 'require': /usr/local/Library/Homebrew/extend/pathname.rb:262: invalid multibyte escape: /^73/ (SyntaxError)
invalid multibyte escape: /^75/
invalid multibyte escape: /^\xFD7zXZ\x00/
    from     /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in 'require'
    from /usr/local/Library/Homebrew/global.rb:1:in '<top (required)>'
    from     /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in 'require'
    from     /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in 'require'
    from /usr/local/bin/brew:10:in '<main>'

Busqué el error y encontré a alguien haciendo una pregunta similar en copyquery.com; Reinstalé las herramientas de línea de comandos de OS X y luego intenté hacer una reinstalación limpia de Homebrew. Eso también falló:

...
==> Downloading and installing Homebrew...
remote: Counting objects: 162348, done.
remote: Compressing objects: 100% (45938/45938), done.
remote: Total 162348 (delta 115308), reused 162338 (delta 115300)
Receiving objects: 100% (162348/162348), 30.36 MiB | 3.31 MiB/s, done.
Resolving deltas: 100% (115308/115308), done.
From https://github.com/Homebrew/homebrew
 * [new branch]      master     -> origin/master
error: unable to unlink old 'Library/Homebrew/test/mach/a.out' (Permission denied)
error: git checkout-index: unable to create file Library/Homebrew/test/mach/fat.bundle (Permission denied)
error: unable to unlink old 'Library/Homebrew/test/mach/fat.dylib' (Permission denied)
error: git checkout-index: unable to create file Library/Homebrew/test/mach/i386.bundle (Permission denied)
error: unable to unlink old 'Library/Homebrew/test/mach/i386.dylib' (Permission denied)
error: git checkout-index: unable to create file Library/Homebrew/test/mach/x86_64.bundle (Permission denied)
error: unable to unlink old 'Library/Homebrew/test/mach/x86_64.dylib' (Permission denied)
Checking out files: 100% (3131/3131), done.
fatal: Could not reset index file to revision 'origin/master'.
Failed during: git reset --hard origin/master

Y Homebrew no quiere ser instalado como root; se anulará si ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)" se instala como root.

Le pregunté una vez antes si las cosas estaban tan mal como pensé después de que el proyecto MacPorts sistemáticamente se comiera más de lo que podría masticar y se rompiera (como Gentoo, pero generalmente puede buscar mensajes de error y encontrar una solución para la comunidad Gentoo dentro de horas de romper algo ... no es así con lo que MacPorts masticaba! ). Me dijeron que la única razón por la que no era peor era que MacPorts, etc. estaban disponibles y ofrecían una mejor alternativa.

Ahora mismo tengo una Mac con OS X 10.9 Mavericks, herramientas de línea de comandos instaladas y VMware Fusion con varias máquinas virtuales Linux limpias disponibles. Si quiero hacer hacking de Unixy (obtenga el tutorial de AngularJS funcionando , y luego intente y juegue un juego), ¿qué ¿Merece la pena considerar seriamente mis opciones de vida para un entorno de desarrollo? Estaré triste si no puedo usar Mac OS X como el Unix de un pirata informático, pero si el camino crítico para la cordura del desarrollador incluye algo que no se ejecuta en Mavericks, estoy dispuesto a tragarme la ironía y trabajar con Linux medio ambiente.

Esto puede suponer el riesgo de ser una pregunta subjetiva, pero dados los Mavericks y cualquier Linux que quiera, ¿cuáles son mis opciones serias para jugar con un proyecto de software?

Gracias,

-

Cuando ejecuté "brew doctor", obtuve:

Warning: An outdated version of Git was detected in your PATH.
Git 1.7.10 or newer is required to perform checkouts over HTTPS from GitHub.
Please upgrade: brew upgrade git

  ^C

Inner Sanctum ~ $ brew upgrade git
Warning: It appears you have MacPorts or Fink installed.
Software installed with other package managers causes known problems for
Homebrew. If a formula fails to build, uninstall MacPorts/Fink and try again.
Error: git not installed

¿Le ayudaría instalar Git a través de un instalador nativo?

--EDIT--

He intentado desinstalar Homebrew completamente según las instrucciones y reinstalarlo, pero se produce un error:

Inner Sanctum ~ $ rm -rf /usr/local/Cellar /usr/local/.git && brew cleanup

Inner Sanctum ~ $ sudo /usr/local/bin/uninstall-homebrew.sh 
brew update first!

Inner Sanctum ~ $ ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
==> This script will install:
/usr/local/bin/brew
/usr/local/Library/...
/usr/local/share/man/man1/brew.1

Press RETURN to continue or any other key to abort
==> /usr/bin/sudo /bin/chmod g+rwx /Library/Caches/Homebrew
==> Downloading and installing Homebrew...
remote: Counting objects: 162492, done.
remote: Compressing objects: 100% (45968/45968), done.
remote: Total 162492 (delta 115424), reused 162478 (delta 115414)
Receiving objects: 100% (162492/162492), 30.32 MiB | 736.00 KiB/s, done.
Resolving deltas: 100% (115424/115424), done.
From https://github.com/Homebrew/homebrew
 * [new branch]      master     -> origin/master
error: unable to unlink old 'Library/Homebrew/test/mach/a.out' (Permission denied)
error: unable to create file Library/Homebrew/test/mach/fat.bundle (Permission denied)
error: unable to unlink old 'Library/Homebrew/test/mach/fat.dylib' (Permission denied)
error: unable to create file Library/Homebrew/test/mach/i386.bundle (Permission denied)
error: unable to unlink old 'Library/Homebrew/test/mach/i386.dylib' (Permission denied)
error: unable to create file Library/Homebrew/test/mach/x86_64.bundle (Permission denied)
error: unable to unlink old 'Library/Homebrew/test/mach/x86_64.dylib' (Permission denied)
Checking out files: 100% (3132/3132), done.
fatal: Could not reset index file to revision 'origin/master'.
Failed during: git reset --hard origin/master

He intentado un par de variantes, y para todo excepto una ejecución, he intentado el intento de instalar los resultados de brew en errores como el error de permiso denegado anteriormente. Actualmente he terminado de encontrar / -name Homebrew, y borré todo, y ejecuté el comando curl, etc. desde /, en caso de que funcione mejor para Library en realidad / Library. Ahora funcionó. No estoy seguro de qué cambio funcionó. ¿Qué cambio lo hizo funcionar?

    
pregunta JonathanHayward 25.03.2014 - 21:38

2 respuestas

5

Veo algunos problemas por lo que publicaste.

  

error: no se puede desvincular el antiguo 'Library / Homebrew / test / mach / a.out' (permiso denegado)

Me parece que tienes un problema con los permisos tal vez de la instalación anterior de Homebrew. Debe eliminar todos los rastros de la instalación anterior antes de volver a instalar.

  

Y Homebrew no quiere ser instalado como root

¿Por qué demonios querrías instalar homebrew como root? El objetivo del proyecto es mantener el homebrew en /usr/local para que no necesites sudo .

  

Advertencia: parece que tienes MacPorts o Fink instalados.   El software instalado con otros administradores de paquetes causa problemas conocidos para   Homebrew.

También debes asegurarte de MacPorts está desinstalado y que has Fink desinstalado . Podrían causar problemas con el software instalado por homebrew.

  

Advertencia: se detectó una versión desactualizada de Git en su PATH.   Se requiere Git 1.7.10 o más reciente para realizar comprobaciones a través de HTTPS desde GitHub.

Esto me indica que todavía tienes una versión antigua de Git en tu PATH, probablemente instalada con otro administrador de paquetes. OS X Mavericks viene con la versión 1.8.5.1 de Git

¿Cuál es el resultado del comando whereis git desde la Terminal? usr/bin/git es la instalación de OS X de Git.

Siga las guías para eliminar completamente las instalaciones anteriores de MacPorts o Fink y asegúrese de que los directorios antiguos se eliminen de su variable PATH.

PS.

  

Estaré triste si no puedo usar Mac OS X como Unix para hackers

Eso también me pondría triste. :(

Me parece que el homebrew es invaluable y fácil de trabajar. En resumen, parece que solo tiene instalado un software antiguo (y quizás directorios extraños en su RUTA) y necesita borrarlo, revisar sus permisos y reinstalar Homebrew desde cero.

    
respondido por el ghoppe 25.03.2014 - 23:31
1

Recomiendo comenzar desde

brew doctor

que debería señalarle posibles problemas y le indica cómo abordarlos.

    
respondido por el binaryanomaly 25.03.2014 - 21:53

Lea otras preguntas en las etiquetas