2012-06-14 21 views
43

Estoy recibiendo problemas con los permisos en Homebrew: Después de instalar Node e intenté instalar npm usando el comando curl que Homebrew le dice que use, fallaría debido a errores de EACCESS. Comprobé la carpeta del nodo y los permisos eran a) no propiedad de un usuario (tuve que protegerlo) yb) No tenía permisos de escritura (tuve que chmod 755).¿Cuál es la mejor/más segura forma de reinstalar Homebrew?

He solucionado el problema con NPM, pero tuve que ejecutar su script de instalación como sudo (¡lo cual es malo!).

Supongo que debo haber instalado Homebrew como root o algo similar. Espero que la reinstalación lo solucione, pero no puedo encontrar una fuente sobre cómo reinstalar Homebrew.

Cuando vuelva a ejecutar el instalador en la Terminal consigo:

/usr/local/.git already exists! 
+0

hice mismo error de funcionamiento de cerveza con la raíz, las arreglo para resolver el problema al hacer 'sudo chown -R johndoe/usr/local/Library' y' sudo chgrp -R admin/usr/local/Library' – gerrytan

Respuesta

24

intente ejecutar el comando brew doctor y haznos saber qué tipo de salida se obtiene


edición: Y para responder a la pregunta del título, esto es de su FAQ:

Hom ebrew no escribe archivos fuera de su prefijo. Por lo general, usted puede simplemente rm -rf la carpeta que se instala en.

por lo siguiente hasta que con una limpieza volver a instalar (después de sus últimas medidas recomendadas) debería ser su mejor apuesta.

+0

El único problema es que mi Xcode está desactualizado. Pero después de ejecutar 'brew install node', los permisos en la carpeta node_modules estaban fuera de control. Agregaré eso a mi pregunta porque tal vez estoy buscando la respuesta incorrecta. – AndrewKS

+0

Hmm sí que podría causar su propio conjunto de problemas. ¿Hay alguna razón para no actualizar Xcode (y Command Line Tools para Xcode)? – kayge

+0

Es un salto muy pequeño, de 3.2.4 a 3.2.6 y no he tenido el tiempo y el ancho de banda para descargar el archivo completo de 4 GB (lo haré durante la noche esta noche) – AndrewKS

6

La manera de volver a instalar Homebrew es eliminarlo por completo y comenzar de nuevo. El Homebrew FAQ tiene un enlace a a shell script para desinstalar homebrew.

Si lo único que ha instalado en /usr/local es homebrew en sí, puede simplemente rm -rf /usr/local/* /usr/local/.git para despejarlo. Pero /usr/local/ es el directorio estándar de Unix para todos los binarios adicionales, no solo para Homebrew, por lo que es posible que tenga otras cosas instaladas allí. En ese caso, uninstall_homebrew.sh es una mejor apuesta. Tiene cuidado de eliminar solo los archivos de homebrew y dejar el resto solo.

+0

Recomiendo leer las Preguntas Frecuentes de Homebrew mencionadas anteriormente, tiene documentación bien escrita sobre la mejor manera y la reinstalación segura. – Atari

38

proceso es limpiar y volver a instalar con los siguientes comandos:

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

Notas:

+2

Esto fue * casi * suficiente para mí.También tuve que correr: 'doctor' cerveza y seguir su consejo, que incluía correr ' prune' cerveza El paso de ciruela fue el crítico en mi caso. Al parecer, la limpieza cerveza no quitó todos los enlaces simbólicos muertos desde// local/bin usr, y haciendo un 'cerveza instalar inkscape' puso muy confusa como resultado. – burlyearly

+1

La instalación de URL ha cambiado a: https://raw.githubusercontent.com/Homebrew/install/master/install –

+0

Gracias, la URL actualizada –

33

Brew ya proporciona un comando para desinstalarlo auto:

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

Si no puede ejecutar este comando debido al permiso (como Ejecutar como segundo usuario), añadir sudo

A continuación, puede instalar de nuevo:

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

Jenkins $ rubí -e "$ (rizar -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" Este script requiere que el usuario sea un administrador. jenkins $ sudo ruby ​​-e "$ (curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" Contraseña: ¡No ejecute esto como root! –

+0

Istalling dio error "Este script requiere que el usuario sea un administrador." Aunque el usuario ya es administrador. Por favor ayuda. –

Cuestiones relacionadas