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

14

Estoy tratando de reparar Homebrew.

Recientemente intenté 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 reinstalarlo escribiendo esto nuevamente en la línea de comando:

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?

AndrewMRiv
fuente
3
¿Por qué no lees tu salida? Explicará bastante bien.
jherran
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 la preparación, ya sea 'doctor', 'limpieza', etc., todos producen la misma salida. Por lo tanto, no se puede seguir la instrucción "limpieza de preparación". ¿Puede esto haber sido causado por el SIP de OS X? ¿Alguien tiene alguna otra idea?
Axel Kirch
Bienvenido a Ask Different. 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, así que me complacerá responderlo en otro lugar. La respuesta es seguramente "no" en el caso de homebrew.
bmike

Respuestas:

17

¿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á completamente homebrew y luego debería poder reinstalarlo.

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

Gabriel Littman
fuente
Gracias. Por alguna razón cuando hice "brew install php54 --with-fpm --with-imap --without-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!
AndrewMRiv
Si usa rvm, falla con algún error de ruby ​​"imagen no encontrada"; asegúrese de usar sys ruby:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
tutuDajuju
16

Esto me sucedió porque tenía dos pestañas abiertas en mi consola. En la consola AI eliminé el directorio de trabajo actual de la consola B. Luego, sin pensarlo, ejecuté la brew upgradeconsola 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 infinita sabiduría.

RobertAKARobin
fuente
2
Esta es la respuesta correcta.
Tamas Kalman
1
Oh, mi palabra: posiblemente tenga que reinstalar todo lo que se está preparando antes de grabar en un directorio diferente. Sí, esta debería ser la respuesta correcta.
DanSingerman
0

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

Colton Hicks
fuente