2012-03-21 17 views
38

tengo un homebrew estándar instalan en el interior de usr/local/Homebrew instalar permisos cuestión

cuando intento:

Larson-2:~ larson$ brew install postgresql 
Error: Cannot write to /usr/local/Cellar 

Y cuando uso sudo:

Larson-2:~ larson$ sudo brew install postgresql 
Cowardly refusing to `sudo brew install' 

¿qué estoy haciendo mal?

+0

Usted puede 'sudo cerveza install' pero hay que cambiar primero la permisos de la utilidad brew así que es propiedad de root. Esta es una característica de seguridad. – mxcl

+0

Parece que el siguiente método cambia los permisos de la utilidad de preparación, ¿estoy en lo cierto? –

+0

No, no es así. – mxcl

Respuesta

119

De alguna manera tiene permisos limitados a /usr/local/Cellar. A Brew no le gusta instalar con sudo y por eso se niega.

comprobar los permisos:

ls -ld /usr/local/Cellar

abrirlos para la escritura:

sudo chmod a+w /usr/local/Cellar

+1

otros enfoques Niza, que he visto como cambiar el propietario del// local/usr Bodega a WhoAmI o grupos Permitir a escribir en/usr/local – orlybg

+6

Después de eso me dieron 'Error: Permiso denegado -/Biblioteca/Caches/Homebrew/Formula/... 'y resuelto con' sudo chmod -R a + w/Library/Caches/Homebrew' – gfpacheco

+0

Gracias @gfpacheco – Lukas

5

que cambiaría los permisos de grupo:

$ chgrp -R admin /usr/local/Cellar 
$ chmod g+w /usr/local/Cellar 

asumiendo que su usuario la cuenta está en el anuncio de grupo min.

9

No utilice sudo cuando trabaje con brew (por razones de seguridad).

Simplemente tiene que configurar sus permisos.

Así que iría más allá y cambiar los permisos para:

sudo chgrp -R admin /usr/local /Library/Caches/Homebrew 
sudo chmod -R g+w /usr/local /Library/Caches/Homebrew 

y luego aplicar el grupo específico (ya sea admin o staff) al usuario que debe ser permitido el uso de brew comando. Verifique grupos de su usuario a través de: id -Gn).

Si hay más problemas, ejecute: brew doctor para ver qué pasa.

1

Esto también ocurre si tiene varios usuarios en su máquina. De ser así, sería mejor que cambiaras de usuario, ya que cualquier otro enfoque te haría jugar con muchos más archivos y carpetas que solo/usr/local/Cellar

Usa su userWhoInstalledBrew.

0

El problema puede resolverse cambiando el propietario del directorio para el usuario actual:

sudo chown -R $USER /usr/local 

Esta respuesta es tomada de: https://github.com/Homebrew/homebrew/issues/17884

+0

Actualización para usuarios de High Sierra, '/ usr/local' ya no puede ser' chown'ed (vea [aquí] (https://github.com/Homebrew/brew/issues/3228)). Los usuarios de High Sierra también pueden tener que reinstalar Homebrew también. –