183 votos

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

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

Ejecutaba cualquier comando brew y obtení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

¿Cómo resolverlo?

0 votos

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

240voto

Tarrant Puntos 334

Decidí buscar esto y encontré que hay un problema . El tema está cerrado pero no es posible simplemente ejecutar brew update porque seguirá obteniendo el mismo error.

Esto es lo que tienes que hacer:

cd /usr/local/Library
git pull origin master

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

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

Esto actualizará tu cerveza casera y podrás volver a usarla.

Si has instalado Homebrew como usuario no root, tendrás que cd a /Users/yourusername/homebrew/Library en lugar de /usr/local/Library .

20 votos

Otra razón por la que me encanta tener un gestor de paquetes construido en git :)

3 votos

Exactamente. Me encanta el software que simplemente se ejecuta desde el código fuente y se puede actualizar a través de git pull

0 votos

Oh, caramba, creo que deberíamos volver a la manera de Microsoft Windows - y caer en la vorágine del registro.

48voto

Elias Zamaria Puntos 610

He encontrado esta solución :

Ese enlace lo describe bien, pero en caso de que el enlace se caiga, esto es lo que tienes que 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

2 votos

A diferencia de la respuesta aceptada, esta sí funcionó.

0 votos

Esto es lo único que me ha funcionado en 10.10.3

0 votos

También funciona para 10.10.4

22voto

Yen Puntos 21

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

Para arreglar esto de forma genérica, edite /usr/local/Library/brew.rb .

En la primera línea, sustituya 1.8 con Current , es decir, de:

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

a:

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

0 votos

Esto rompe brew update porque ahora tienes un cambio no comprometido.

1 votos

Pero para hacer brew update uno tiene que aplicar el arreglo que sugerí. Nunca usé brew update hasta ahora, así que ni siquiera tenía el repo inicializado. No recuerdo cómo lo instalé.

3voto

Drux Puntos 11

Si solucionas el problema de ruby y luego te encuentras con un problema que te dice que el sistema piensa que estás ejecutando tiger o una versión anterior, la solución para eso está aquí

1voto

warpstack Puntos 48

Primero intenté la respuesta más valorada y luego pulsé otra cuestión . Después de eso desistí de arreglarlo ya que sólo tenía un par de paquetes instalados. Tal vez otros están en este barco también.

Aunque todas estas son excelentes respuestas, para mí fue más sencillo simplemente reinstalar Brew.

En primer lugar, ejecuté las instrucciones en:

http://brew.sh/

que me dirigió a la primera desinstalación, e imprimió una línea de comandos. Ejecuté esa línea de comandos para desinstalar, luego volví a instalar, y todo estaba bien.

No quiero imprimir los comandos específicos, ya que tienden a cambiar un poco como brew ajustar cómo se instalan las cosas.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X