He desinstalado e instalado Homebrew 3 veces ahora 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 de libjpeg que estoy enfrentando actualmente.
Intento instalar libjpeg y obtener:
$ 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' da como resultado
Error: Permission denied - /usr/local/opt/jpeg
Esto es lo que lee mi doctor cervecero
$ 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 agradecería cualquier sugerencia.

sudo chown -R $USER:admin /Library/Caches/Homebrewpara deshacerme de mis problemas de permisos.admingrupo es cada usuario administrador (que es cada usuario de la cuenta de usuario macOS que puedesudo, entre otras cosas), por lo que al ejecutarchown -R …:adminjunto conchmod -R g+w /usr/local(como lo sugiere @AndreaDeGaetano), no hará nada mal aquí y no tendrá ningún problema con otros usuarios también usan/usr/local/brew.Nuevo comando para los usuarios en MacOS alta sierra, ya que no es posible
chownen/usr/local:bash/zsh:fish:Referencia: No se puede usar / usr / local en High Sierra
fuente
sudo chown -R (whoami) (brew --prefix)/*sudo mkdir /usr/local/Frameworks, seguido del comando chown como aparece en esta respuesta.Como primera opción para quien aterriza aquí como lo hice yo, sigue lo que sea que esto te sugiera que hagas:
Es el camino más seguro y, entre otras cosas, me sugirió que:
que resolvió ese problema de permisos.
El OP hizo exactamente eso, pero aparentemente no recibió la sugerencia anterior; es posible, y siempre es mejor comenzar allí, y solo entonces buscar soluciones no triviales si no ayudó.
fuente
chown: /usr/local: Operation not permittedno funciona a partir del 5 de julio de 2019Si está en OSX High Sierra,
/usr/localya no puede serchown'd. Puedes usar:sudo chown -R $(whoami) $(brew --prefix)/*fuente
No tenía la
/usr/local/Frameworkscarpeta, así que esto me la arreglóLa primera línea crea una nueva carpeta de Frameworks para homebrew (brew) para usar. La segunda línea otorga a esa carpeta sus permisos de usuario actuales, que son suficientes.
Los comandos utilizados son los siguientes:
Tengo OSX High Sierra
fuente
Tuve este problema. Una solución de trabajo es cambiar la propiedad del
/usr/localusuario actual en lugar deroot:Pero realmente esta no es una forma adecuada. Principalmente si su máquina es un servidor o usuario múltiple.
Mi sugerencia es cambiar la propiedad como se indicó anteriormente y hacer lo que quiera implementar con Brew ... (actualizar, instalar ... etc.) y luego restablecer la propiedad nuevamente a la raíz como:
Eso resolvería el problema y mantendría la propiedad establecida en el conjunto adecuado.
fuente
El comando de la respuesta más votada no funciona para mí.
Tiene salida:
Este comando funciona bien (el grupo para / usr / local
adminya estaba ):fuente
sudo chown -R "$USER":admin /usr/localError: Running Homebrew as root is extremely dangerous and no longer supported. As Homebrew does not drop privileges on installation you would be giving all build scripts full access to your system.chown: /usr/local: Operation not permittedTodavía no quería perder el tiempo con los permisos de carpeta, así que hice lo siguiente:
brew doctorbrew upgradebrew cleanupLuego pude continuar instalando mi otra fórmula de preparación con éxito.
fuente
Si desea un enfoque ligeramente más específico que la manta
chown -R, puede encontrar útil estefix-homebrewscript:En lugar de hacerle un
chmoda su usuario, le da aladmingrupo (al que presumiblemente pertenece) acceso de escritura a los directorios específicos/usr/localque utiliza homebrew. También le dice exactamente lo que pretende hacer antes de hacerlo.fuente
En mi caso, el / usr / local / Frameworks ni siquiera existía, así que sí:
Y luego todo funcionó como se esperaba.
fuente
Esto resolvió el problema para mí.
fuente
Resolví mi problema con estos comandos:
fuente
Mac OS 10.13.4En mi caso, tuve que crearsudo mkdir /usr/local/Frameworksysudo chown -R $(whoami) /usr/local/Frameworkspoder vincular python!Para una Mac multiusuario, esto funcionó para mí:
fuente
Todas estas sugerencias pueden funcionar. Sin embargo, en la última versión de brew doctor, se hicieron mejores sugerencias.
En primer lugar, corrija el desorden que probablemente ya haya hecho
/usr/localejecutando esto en la línea de comando:sudo chown -R root:wheel /usr/localLuego tome posesión de las rutas que deberían ser específicamente para este usuario:
Toda esta información está disponible si ejecuta
sudo brew updatey luego lee todas las advertencias y errores con los que se encontrará ...fuente
Para mí funcionó después
brew doctorCambiar los comandos de permiso dio como resultado otro error
chown: /usr/local: Operation not permittedfuente
Hay un script asesino en github que corrige los permisos en / usr / local y los directorios brew para que sea accesible para cualquier persona que sea miembro del grupo 'admin'.
https://gist.github.com/jaibeee/9a4ea6aa9d428bc77925
Esta es una mejor solución que la respuesta elegida, ya que si asigna los directorios / usr / local / ___ a $ USER, interrumpe a cualquier otro usuario administrador de homebrew en esa máquina.
Aquí están las entrañas del guión en el momento en que publiqué esto:
fuente
En MacOS Mojave, tampoco tenía permiso para
chownla carpeta / usr / local (sudo chown -R "$USER":admin /usr/local).sudo chown -R "$USER":admin /usr/local/*Sin embargo, funcionó para mí, alterando los permisos de todo dentro de la carpeta local.Esperemos que esto ayude a otros con el mismo problema.
fuente
En realidad es muy simple, ejecuta este comando:
brew doctorY le dirá qué hacer, para solucionar problemas de permisos, por ejemplo en mi caso:
Este fue el problema:
Y esta fue la solución:
fuente
fuente
En mi caso, tengo problemas para eliminar y reinstalar SaltStack.
Despues de correr:
Me di cuenta de que el dueño del grupo era "personal". (Por cierto, estoy ejecutando macOS Mojave versión 10.14.3.) El grupo de personal podría estar relacionado con la configuración de mi lugar de trabajo, pero realmente no lo sé. De todos modos, conservé al grupo para evitar romper más.
Entonces corrí:
Después de eso, pude eliminarlo con éxito con este comando (no como root):
fuente
Si no tiene la última versión de Homebrew: "solucioné" esto en el pasado forzando a Homebrew a ejecutarse como root, lo que solo podría hacerse 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, de lo contrario no funciona correctamente.
fuente
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 fue causado específicamente por ejecutar sudo con brew cask y luego obtener mi contraseña incorrecta. Después de esto, me quedé atascado con los permisos que impiden la instalación.
fuente
Para resolver errores de permisos de Brew en la carpeta ejecute
Esto resolverá los problemas y no tenemos que crear ningún directorio.
fuente
brew cleanup --prune-prefixEstoy en Catalina y recibí este error:
Solo necesito chown el
Homebrewdirectoriofuente
Usé estos dos comandos y guardé mi problema
fuente
intente también ejecutar este comando
sudo chmod + t / tmp
fuente