25 votos

¿Cómo debo arreglar mi Homebrew de la instalación después de la actualización de OS X?

Contexto

Mi empleador me dio un MacBook Pro durante el desarrollo del trabajo; sin embargo, la mayoría de los trabajos de desarrollo hago en mi grupo de investigación, es para plataformas Linux, y para una serie de razones políticas, no puedo instalar el software de virtualización en este portátil. Homebrew se ve como una buena forma en que la instalación de estas herramientas, sobre todo porque se ve muy hackeable (ya que utiliza Ruby; MacPorts no se ve hackeable, porque utiliza Tcl). Sin embargo, Homebrew se basa en el sistema de bibliotecas, y por razones de seguridad, mi empleador puede (y por lo que he oído, con frecuencia) actualización de mi sistema en cualquier momento. Me he enterado de que OS X actualizaciones va a romper Homebrew. (Véase, por ejemplo, ¿Cómo debo de actualización de Xcode después de actualizar a OS X Lion?).

Pregunta

¿Cómo puedo arreglar mi Homebrew después de instalar una actualización de OS X? Yo estoy bien con borrarlo y empezar desde cero de nuevo, como puedo hacerlo de una forma automática. (Por ejemplo, el uso de Títeres, además de un Homebrew proveedor de secuencia de comandos de configuración que va a generar automáticamente al momento de ejecutar una secuencia de comandos de shell.) He estado buscando en Google por todas partes y parece que no puede encontrar la respuesta a esta pregunta.

8voto

Gaurav Agarwal Puntos 171
brew update

Las actualizaciones de la instalación de Homebrew. Si hay errores, deben ser reportados por brew doctor. Intente arreglarlos otra cosa, puede utilizar el script de desinstalación de la siguiente manera:

#!/bin/sh
# Just copy and paste the lines below (all at once, it won't work line by line!)
# MAKE SURE YOU ARE HAPPY WITH WHAT IT DOES FIRST! THERE IS NO WARRANTY!

function abort {
  echo "$1"
  exit 1
}

set -e

/usr/bin/which -s git || abort "brew install git first!"
test -d /usr/local/.git || abort "brew update first!"

cd `brew --prefix`
git checkout master
git ls-files -z | pbcopy
rm -rf Cellar
bin/brew prune
pbpaste | xargs -0 rm
rm -r Library/Homebrew Library/Aliases Library/Formula Library/Contributions
test -d Library/LinkedKegs && rm -r Library/LinkedKegs
rmdir -p bin Library share/man/man1 2> /dev/null
rm -rf .git
rm -rf ~/Library/Caches/Homebrew
rm -rf ~/Library/Logs/Homebrew
rm -rf /Library/Caches/Homebrew

E instalar homebrew de nuevo. Estoy bastante seguro de que todo esto es configurable utilizando títeres.

7voto

Marie Fischer Puntos 1243

Creo que podría haber estado preguntando acerca de si usted necesita para reconstruir todos los paquetes en vez de sólo la desinstalación. Si ese es el caso, entiendo que esto es generalmente no es un problema, ya que esta respuesta dice.

He tenido problemas, especialmente cuando se cambia a OS X Mavericks y Xcode 5 tuve que volver a vincular todos los paquetes que se había instalado -- aquí está mi script:

#!/bin/bash
FORMULAS=(`brew list`);
for FORMULA in "${FORMULAS[@]}"
do 
    echo "brew unlink $FORMULA" && echo "brew link $FORMULA";
    OUTPUT=`brew unlink $FORMULA`;
    echo $OUTPUT;
    OUTPUT=`brew link $FORMULA`;
    echo $OUTPUT;
done

Nota la salida, algunas fórmulas se requieren --force de la link paso.

Si eso no funciona, pruebe con este comando de la serie de Mike McQuaid:

brew list > brew-list.txt
brew uninstall < `cat brew-list.txt`
brew install < `cat brew-list.txt`

Ahora hay un rebuild comando en el HomeBrew, pero que actualmente no resolver dependencias.

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: