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/Homebrew
para deshacerme de mis problemas de permisos.admin
grupo 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 …:admin
junto 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
chown
en/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 permitted
no funciona a partir del 5 de julio de 2019Si está en OSX High Sierra,
/usr/local
ya no puede serchown
'd. Puedes usar:sudo chown -R $(whoami) $(brew --prefix)/*
fuente
No tenía la
/usr/local/Frameworks
carpeta, 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/local
usuario 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
admin
ya estaba ):fuente
sudo chown -R "$USER":admin /usr/local
Error: 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 permitted
Todavía no quería perder el tiempo con los permisos de carpeta, así que hice lo siguiente:
brew doctor
brew upgrade
brew cleanup
Luego 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-homebrew
script:En lugar de hacerle un
chmod
a su usuario, le da aladmin
grupo (al que presumiblemente pertenece) acceso de escritura a los directorios específicos/usr/local
que 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.4
En mi caso, tuve que crearsudo mkdir /usr/local/Frameworks
ysudo chown -R $(whoami) /usr/local/Frameworks
poder 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/local
ejecutando esto en la línea de comando:sudo chown -R root:wheel /usr/local
Luego 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 update
y luego lee todas las advertencias y errores con los que se encontrará ...fuente
Para mí funcionó después
brew doctor
Cambiar los comandos de permiso dio como resultado otro error
chown: /usr/local: Operation not permitted
fuente
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
chown
la 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 doctor
Y 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-prefix
Estoy en Catalina y recibí este error:
Solo necesito chown el
Homebrew
directoriofuente
Usé estos dos comandos y guardé mi problema
fuente
intente también ejecutar este comando
sudo chmod + t / tmp
fuente