¿Cómo debo arreglar mi installation de Homebrew después de actualizar OS X?

Context

Mi empleador me dio un MacBook Pro para el trabajo de desarrollo; sin embargo, la mayor parte del trabajo de desarrollo que realizo en mi grupo de investigación es para plataforms Linux, y por una serie de razones políticas, no puedo instalar software de virtualización en esta computadora portátil. Homebrew parece una buena manera de instalar estas herramientas, especialmente porque parece muy pirateable (ya que usa Ruby; MacPorts no parece pirateable, porque usa Tcl). Sin embargo, Homebrew depende de las bibliotecas del sistema y, por motivos de security, mi empleador puede (y por lo que he oído, con frecuencia lo hará) actualizar mi sistema en cualquier momento. Escuché que las actualizaciones de OS X romperán Homebrew. (Ver, por ejemplo, https://stackoverflow.com/questions/7779300/how-should-i-upgrade-xcode-after-upgrading-to-os-x-lion ).

Pregunta

¿Cómo podría arreglar mi installation de Homebrew después de una actualización de OS X? Estoy de acuerdo con eliminarlo y volver a comenzar desde el principio, siempre que pueda hacerlo de forma automática. (Por ejemplo, usar Puppet plus un proveedor de Homebrew para crear una configuration que se generará automáticamente al ejecutar un script de shell.) He estado buscando en Google en todas partes y parece que no puedo encontrar ninguna respuesta a esta pregunta.

  • El llavero Mac se reinicia todos los días
  • Carpeta oculta sin un punto al comienzo
  • ¿Cómo se lanza Adobe Update Notifier en Mac OS X?
  • Deshabilitar / Desinstalar la aplicación de correo en Lion
  • Necesita ayuda con la actualización a la última terminal de Git
  • ¿Cómo puedo reasignar los atajos de keyboard copyr / pegar?
  • ¿Es normal tener el directory de inicio bajo git?
  • La window del terminal OS X desaparece al iniciar
  • Cómo iniciar web start en 10.10 OSX
  • ¿Hay algún gesto para descartar una notificación?
  • ¿Cómo comparto la carpeta NTFS de OSX Lion a Window 7?
  • Lector de PDF que restaura la última página vista
  • 2 Solutions collect form web for “¿Cómo debo arreglar mi installation de Homebrew después de actualizar OS X?”

    brew update 

    Actualiza la installation de Homebrew. Si hay algún error, deberían ser informados por el brew doctor de brew doctor . Intente solucionarlos, puede usar el script de desinstallation 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 instale homebrew nuevamente. Estoy bastante seguro de que todo esto es configurable usando títeres.

    Creo que podría haberse preguntado si necesita rebuild todos los packages en lugar de simplemente desinstalar. Si ese es el caso, entiendo que generalmente no es un problema, como dice esta respuesta .

    Tuve problemas, especialmente cuando cambié a OS X Mavericks y Xcode 5 tuve que volver a vincular todos los packages que 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 

    Tenga en count la salida, algunas fórmulas requerirán --force para el paso de link .

    Si eso aún no funciona, testing esta serie de commands de Mike McQuaid :

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

    Ahora hay un command de rebuild en HomeBrew, pero eso actualmente no resuelve las dependencies.

    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).