¿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.

  • Variables de entorno en Mavericks
  • ¿Cómo puedo desconectarme automáticamente de la count de invitado después de un período de inactividad?
  • Desarchivar un file con un set de list de passwords proporcionada
  • Cómo bloquear el tamaño del Dock?
  • Desinstalar OSX-gcc-installer sin primero instalar Xcode
  • ¿Cómo hacer que mi iMac reconozca mi disco duro externo USB?
  • Sistema de files Mac OS X y pregunta de labeldo
  • Migre files desde el software y hardware de OS 9 a OS X
  • Acceso a OS X incorporado en la búsqueda del dictionary en Firefox
  • Mac Air OS X Mountain Lion: assembly de NFS "dscl" congela el sistema de forma permanente
  • Traslado de la biblioteca de iBooks a un disco externo
  • ¿Qué hace la copy de security de Time Machine?
  • 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).