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?