¿Cómo arreglar los permisos caseros?

Resuelto Paul Rada asked hace 11 años • 32 respuestas

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

Como ejemplo, publicaré este escenario de descarga de libjpeg al que me enfrento 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' 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 cerveza en cualquier cosa y realmente agradecería cualquier sugerencia.

Paul Rada avatar May 08 '13 10:05 Paul Rada
Aceptado

Pude resolver el problema usando chownen la carpeta:

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

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

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

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

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

Paul Rada avatar May 08 '2013 21:05 Paul Rada

Nuevo comando para usuarios de macOS High Sierra, ya que no es posible chownactivarlo /usr/local:

bash/zsh:

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

fish:

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

Referencia: No se puede chown /usr/local en High Sierra

andrewwong97 avatar Oct 20 '2017 07:10 andrewwong97

Como primera opción para quien aterrice aquí como lo hice yo, siga lo que esto le sugiera hacer:

brew doctor

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

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

lo que resolvió ese problema de permisos.

El OP hizo precisamente eso pero aparentemente no entendió la sugerencia anterior; es posible, y siempre es mejor empezar por ahí, y sólo después buscar soluciones no triviales si no ha ayudado.

Arnaud avatar Dec 09 '2015 09:12 Arnaud

Si estás en OSX High Sierra, /usr/localya no puedes ser chown'd. Puedes usar:

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

Richard avatar Nov 12 '2017 20:11 Richard