¿Cómo arreglar la preparación después de la actualización de OSX a Yosemite?

181

Me enfrenté a un problema con Homebrew. Me actualicé a Yosemite. Después de la actualización, homebrew parece estar roto.

Ejecutaría cualquier comando de preparación y obtendría este error

/usr/local/bin/brew: /usr/local/Library/brew.rb: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby: bad interpreter: No such file or directory
/usr/local/bin/brew: line 26: /usr/local/Library/brew.rb: Undefined error: 0

¿Como resolverlo?

Ranjith Ramachandra
fuente
Acabo de actualizar de Mac OS X 10.8 a 10.10 (Yosemite), y homebrew funciona bien después de la actualización. O bien este problema se solucionó o hubo algo diferente en mi actualización del sistema operativo en comparación con todos los demás que publicaron aquí.
Yitz

Respuestas:

239

Decidí buscar esto y descubrí que hay un problema . El problema está cerrado, pero no es posible simplemente ejecutarlo brew updateporque seguirá obteniendo el mismo error.

Entonces, esto es lo que debes hacer:

cd /usr/local/Library
git pull origin master

En caso de que tenga cambios en el directorio (/ usr / local / Library), el git pull arrojará un error. En ese caso, tendrás que buscar la rama maestra y configurarla a la fuerza como maestra:

git fetch --all
git reset --hard origin/master

Esto actualizará su homebrew y puede usar brew nuevamente.

Si instaló Homebrew como usuario no root, cddeberá /Users/yourusername/homebrew/Libraryhacerlo en lugar de hacerlo /usr/local/Library.

Ranjith Ramachandra
fuente
20
Otra razón por la que me encanta tener un administrador de paquetes basado en git :)
spinlock
3
Exactamente. Software de amor que simplemente se ejecuta desde la fuente y se puede actualizar a través de git pull
Ranjith Ramachandra
77
Extraño, me estoy volviendo fatal: no es un repositorio de git (o cualquiera de los directorios principales): .git
Gabriel R.
2
Recibo este error:error: cannot open .git/FETCH_HEAD: Permission denied
sixty4bit
66
Pruebasudo git pull origin master
Ranjith Ramachandra
48

Encontré esta solución :

Ese enlace lo describe bien, pero en caso de que el enlace se caiga, esto es lo que debe hacer: Escriba estos comandos en su Terminal:

cd /System/Library/Frameworks/Ruby.framework/Versions
sudo ln -s Current 1.8
brew update
sudo rm 1.8
Elias Zamaria
fuente
2
A diferencia de la respuesta aceptada, esto realmente funcionó.
Paul
Esto es lo único que me funcionó en 10.10.3
usuario
También funciona para 10.10.4
Ralfonso
Error de cancelación: error al ejecutar: git pull -q origin refs / heads / master:
refs
Esto funcionó para mí, aunque también había otro paso que tomar: stackoverflow.com/questions/26501126/…
JussiR
22

La versión y la ubicación de Ruby cambiaron con la nueva versión de Mac OS X.

Para solucionar esto de manera genérica, edite /usr/local/Library/brew.rb.

En la primera línea, reemplace 1.8con Current, es decir, desde:

#!/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby -W0 

a:

#!/System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby -W0
Gabriel R.
fuente
Esto se rompe brew updateporque ahora tiene un cambio no comprometido.
Cameron Price-Austin
1
... pero para hacerlo, brew updateuno tiene que aplicar la solución que sugerí. Nunca lo usé brew updatehasta ahora, así que ni siquiera tenía el repositorio inicializado. No recuerdo cómo lo instalé.
Gabriel R.
3

Si soluciona el problema de ruby ​​y luego encuentra un problema en el que se le dice que el sistema cree que está ejecutando Tiger o una versión anterior, la solución está aquí

Drux
fuente
1

Primero probé la respuesta mejor calificada y luego golpeé otro problema . Después de eso, dejé de arreglarlo ya que solo tenía un par de paquetes instalados. Quizás otros también estén en este bote.

Si bien todas estas son respuestas excelentes, para mí fue más simple volver a instalar brew.

Primero, ejecuté las instrucciones sobre:

http://brew.sh/

que me dirigió a la primera desinstalación e imprimió una línea de comando. Ejecuté esa línea de comando para desinstalar, luego reinstalé, y todo estuvo bien.

No quiero imprimir los comandos específicos, ya que tienden a cambiar un poco a medida que la cerveza ajusta cómo se instalan las cosas.

dpb
fuente