¿Cómo reparar y/o reinstalar Homebrew de forma segura?

Estoy tratando de reparar Homebrew.

Recientemente traté de reinstalarlo pero cuando escribí "brew doctor"

Mi salida fue:

shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
chdir: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
chdir: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
The current working directory doesn't exist, cannot proceed.

He intentado volver a instalarlo escribiendo esto en la línea de comando nuevamente:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Pero mi salida es:

It appears Homebrew is already installed. If your intent is to reinstall you
should do the following before running this installer again:
rm -rf /usr/local/Cellar /usr/local/.git && brew cleanup

¿Cómo puedo arreglar mi instalación de Homebrew?

¿Por qué no lees tu salida? Lo explicará bastante bien.
A partir de hoy, tengo el mismo problema descrito en la publicación original. Tengo la sensación de que esto comenzó justo después de actualizar OS X a 10.11.2 a través de la App Store. No importa qué parámetros se pasen a preparar, ya sea 'doctor', 'limpieza', etc., todos producen el mismo resultado. Por lo tanto, al menos no se puede seguir la instrucción "limpieza de preparación". ¿Puede que esto haya sido causado por el SIP de OS X? ¿Alguien tiene alguna otra idea?
Bienvenido a Preguntar Diferente. hay dos opciones: puede hacer una pregunta de seguimiento que muestre los resultados del rm comando o podemos votar / promover esto con ediciones. Además, podría preguntar, ¿cómo puedo saber si SIP está afectando una tarea específica? eso es responsable y parece un poco más allá del alcance de esta pregunta, por lo que me complacerá responderlo en otro lugar. La respuesta es casi seguramente "no" en el caso de homebrew.

Respuestas (4)

¿Por qué no haces lo que dice?

rm -rf /usr/local/Cellar /usr/local/.git && brew cleanup
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

La primera línea eliminará homebrew por completo y luego debería poder reinstalarlo.

NOTA: si hace esto, tendrá que reinstalar todas las cosas que instaló a través de homebrew.

Gracias. Por alguna razón, cuando hice "brew install php54 --with-fpm --with-imap --with-apache --with-debug", me estaba dando el primer error de salida de mi publicación. Cuando intenté usar "ruby -e "$(curl -fsSL raw.githubusercontent.com/Homebrew/install/master/install )"", me dio el segundo error de salida. Reiniciar mi computadora y hacer lo que me dijiste que hiciera realmente ayudó. ¡Gracias!
Si usa rvm, falla con un error de Ruby de "imagen no encontrada"; asegúrese de usar sys ruby:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
12 horas de trabajo. en este error, solo eliminando homebrew por completo lo resolví. ¡Gracias!
El instalador de Ruby está en desuso, utilícelo en su /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"lugar
La ubicación del repositorio de git cambió ahora. debería serrm -rf /usr/local/Homebrew/.git

Esto me pasó porque tenía dos pestañas abiertas en mi consola. En Console AI eliminé el directorio de trabajo actual de Console B. Luego, sin pensarlo, ejecuté brew upgradeConsole B. Por supuesto, arrojó el error anterior.

Solución simple: solo cda un directorio diferente en la Consola B y brew upgradenuevamente.

Yo y mi sabiduría infinita.

Esta es la respuesta correcta.
Oh mi palabra - posiblemente tener que reinstalar todo en brew antes de cd-ing a un directorio diferente. Sí, esta debería ser la respuesta correcta.
Reproduje este comportamiento al intentar ejecutar brew doctordesde un directorio que se eliminó. usando cdpara cambiar a un nuevo directorio permitido brew doctorpara funcionar de nuevo. Cambiar su directorio es definitivamente la respuesta correcta.
Eres un Dios entre los insectos. Literalmente podría llevarme 10 horas reinstalar todo lo que uso en brew -.-

También encontré el primer error. Desapareció después de que salí de mi shell que solía instalar Homebrew. Después, los comandos de preparación volvieron a estar felices.

Si en su instalación homebrew también instaló herramientas XCode en su Mac, es posible que solo deba cerrar la ventana de su terminal y abrir una nueva :)