macos homebrew libjpeg

macos - ¿Cómo arreglar los permisos de homebrew?



libjpeg (19)

Como primera opción para quienquiera que llegue aquí como lo hice yo, sigue lo que esto te sugiera:

brew doctor

Es el camino más seguro, y entre otras cosas, me sugirió:

sudo chown -R $(whoami) /usr/local

Lo que resolvió esa cuestión de permisos.

El OP hizo precisamente eso, pero aparentemente no recibió la sugerencia anterior; Podrías, y siempre es mejor empezar allí.

He desinstalado e instalado Homebrew 3 veces porque parece que nunca me permite instalar nada, ya que me niega los permisos al final de la mayoría de las instalaciones.

Como ejemplo, publicaré este escenario de descarga libjpeg que estoy enfrentando actualmente.

Intento instalar libjpeg y obtengo:

$ brew install libjpeg ==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/jpeg-8d.mountain_lion.bottle.1.tar.gz Already downloaded: /Library/Caches/Homebrew/jpeg-8d.mountain_lion.bottle.1.tar.gz ==> Pouring jpeg-8d.mountain_lion.bottle.1.tar.gz Warning: Could not link jpeg. Unlinking... Error: The brew link step did not complete successfully The formula built, but is not symlinked into /usr/local You can try again using `brew link jpeg'' Error: Permission denied - /usr/local/opt/jpeg

''brew link jpeg'' resulta en

Error: Permission denied - /usr/local/opt/jpeg

Esto es lo que lee mi doctor de cerveza

$ brew doctor Warning: "config" scripts exist outside your system or Homebrew directories. ./configure scripts often look for *-config scripts to determine if software packages are installed, and what additional flags to use when compiling and linking. Having additional scripts in your path can confuse software installed via Homebrew if the config script overrides a system or Homebrew provided script of the same name. We found the following "config" scripts: /Library/Frameworks/Python.framework/Versions/2.7/bin/python-config /Library/Frameworks/Python.framework/Versions/2.7/bin/python2-config /Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7-config Warning: You have unlinked kegs in your Cellar Leaving kegs unlinked can lead to build-trouble and cause brews that depend on those kegs to fail to run properly once built. Run brew link on these: jpeg

Este problema de permiso ha hecho que sea imposible usar brew en cualquier cosa y realmente agradecería cualquier sugerencia.


El comando de la answer votada no funciona para mí.

Tiene salida:

chown: / usr / {my_username} dmin: nombre de usuario ilegal

Este comando funciona bien (el grupo para / usr / local ya era admin ):

sudo chown -R $USER /usr/local


En realidad es muy simple, ejecuta este comando: brew doctor

Y le dirá qué hacer para solucionar los problemas de permisos, por ejemplo, en mi caso:

Este fue el problema:

Warning: The following directories are not writable by your user: /usr/local/share/man/man5 /usr/local/share/man/man7

Y esta fue la solución:

You should change the ownership of these directories to your user. sudo chown -R $(whoami) /usr/local/share/man/man5 /usr/local/share/man/man7


Esto solucionó el problema para mí.

sudo chown -R "$USER":admin /Users/$USER/Library/Caches/Homebrew sudo chown -R "$USER":admin /usr/local


Hay un script asesino en github que corrige los permisos en los directorios / usr / local y brew para que todos los miembros del grupo "admin" puedan acceder a ellos.

https://gist.github.com/jaibeee/9a4ea6aa9d428bc77925

Esta es una solución mejor que la respuesta elegida, ya que si cambia los directorios / usr / local / ___ a $ USER, entonces rompe cualquier otro usuario administrador de homebrew en esa máquina.

Aquí están las agallas de la secuencia de comandos en el momento en que publiqué esto:

chgrp -R admin /usr/local chmod -R g+w /usr/local chgrp -R admin /Library/Caches/Homebrew chmod -R g+w /Library/Caches/Homebrew chgrp -R admin /opt/homebrew-cask chmod -R g+w /opt/homebrew-cask


Intenté todo en esta página, terminé usando esta solución:

brew uninstall --force brew-cask; brew untap $tap_name; brew update; brew cleanup; brew cask cleanup;

Mi situación era similar a la OP, sin embargo, mi problema se debió específicamente a la ejecución de sudo con brew cask y luego a una contraseña incorrecta. Después de esto, me quedé atascado con los permisos que impiden la instalación.


Intenta también ejecutar este comando

sudo chmod + t / tmp


No quería meterme con los permisos de las carpetas, así que hice lo siguiente:

brew doctor
brew upgrade
brew cleanup

Entonces pude continuar instalando con éxito mi otra fórmula de preparación.



Para resolver errores en los permisos de Brew en la carpeta

brew prune

Esto resolverá los problemas y no tenemos que chown ningún directorio.


Pude resolver el problema usando chown en la carpeta:

sudo chown -R "$USER":admin /usr/local

También (lo más probable) tendrás que hacer lo mismo en /Library/Caches/Homebrew :

sudo chown -R "$USER":admin /Library/Caches/Homebrew

Aparentemente había usado sudo antes de una manera que alteró el permiso de mi carpeta en /usr/local , desde aquí en adelante todas las instalaciones con brew han probado ser exitosas.

Esta respuesta es cortesía del rastreador de problemas de homebrew de gitHub


Resolví mi problema con estos comandos:

sudo mkdir /usr/local/Cellar sudo mkdir /usr/local/opt sudo chown -R $(whoami) /usr/local/Cellar sudo chown -R $(whoami) /usr/local/opt


Si desea un enfoque un poco más específico que la manta- chown -R , puede encontrar útil este script fix-homebrew :

#!/bin/sh [ -e `which brew` ] || { echo Homebrew doesn/'t appear to be installed. exit -1 } BREW_ROOT="`dirname $(dirname $(which brew))`" BREW_GROUP=admin BREW_DIRS=".git bin sbin Library Cellar share etc lib opt CONTRIBUTING.md README.md SUPPORTERS.md" echo "This script will recursively update the group on the following paths" echo "to the ''${BREW_GROUP}'' group and make them group writable:" echo "" for dir in $BREW_DIRS ; do { [ -e "$BREW_ROOT/$dir" ] && echo " $BREW_ROOT/$dir " } ; done echo "" echo "It will also stash (and clean) any changes that are currently in the homebrew repo, so that you have a fresh blank-slate." echo "" read -p ''Press any key to continue or CTRL-C to abort.'' echo "You may be asked below for your login password." echo "" # Non-recursively update the root brew path. echo Updating "$BREW_ROOT" . . . sudo chgrp "$BREW_GROUP" "$BREW_ROOT" sudo chmod g+w "$BREW_ROOT" # Recursively update the other paths. for dir in $BREW_DIRS ; do { [ -e "$BREW_ROOT/$dir" ] && ( echo Recursively updating "$BREW_ROOT/$dir" . . . sudo chmod -R g+w "$BREW_ROOT/$dir" sudo chgrp -R "$BREW_GROUP" "$BREW_ROOT/$dir" ) } ; done # Non-distructively move any git crud out of the way echo Stashing changes in "$BREW_ROOT" . . . cd $BREW_ROOT git add . git stash git clean -d -f Library echo Finished.

En lugar de hacer un chmod a su usuario, le otorga al grupo de admin (al que presumiblemente pertenece) acceso de escritura a los directorios específicos en /usr/local que utiliza Homebrew. También le dice exactamente lo que pretende hacer antes de hacerlo.


Si estás en High Sierra, / usr / local ya no puede ser chown''d. Puedes usar:

sudo chown -R $ (whoami) $ (brew --prefix) / *


Si no tiene la última versión de Homebrew: "Lo arreglé" en el pasado forzando a Homebrew a ejecutarse como root, lo que solo se podría hacer cambiando la propiedad de los ejecutables de Homebrew a root. En algún momento, eliminaron esta característica.

Y sé que darán muchas advertencias diciendo que no debería ejecutarse como root, pero vamos, no funciona correctamente de otra manera.


Tengo OSX High Sierra y no tenía la carpeta /user/local/Frameworks , así que esto me lo arregló

sudo mkdir -p /usr/local/Frameworks sudo chown -R $(whoami) /usr/local/Frameworks


Todas estas sugerencias pueden funcionar. En la última versión de brew doctor, sin embargo, se hicieron mejores sugerencias.

En primer lugar, corrija el desorden que probablemente ya haya hecho de /usr/local ejecutando esto en la línea de comandos:

sudo chown -R root:wheel /usr/local

A continuación, tome posesión de las rutas que deben ser específicamente para este usuario:

sudo chown -R $(whoami) /usr/local/lib /usr/local/sbin /usr/local/var /usr/local/Frameworks /usr/local/lib/pkgconfig /usr/local/share/locale

Toda esta información está disponible si ejecuta la sudo brew update y luego lee todas las advertencias y errores con los que se encontrará ...


Tuve este problema ... Una solución de trabajo es cambiar la propiedad de /usr/local al usuario actual en lugar de la root mediante:

sudo chown -R $(whoami):admin /usr/local

Pero en realidad esta no es una forma adecuada. Principalmente si su máquina es un servidor o multiusuario.

Mi sugerencia es cambiar la propiedad como se indica arriba y hacer lo que quieras implementar con Brew .. (actualizar, instalar ... etc) y luego restablecer la propiedad a la raíz como:

sudo chown -R root:admin /usr/local

Eso resolvería el problema y mantendría la propiedad establecida en el conjunto adecuado.


cd /usr/local && sudo chown -R $(whoami) bin etc include lib sbin share var opt Cellar Frameworks