2012-03-21 14 views
38

ho un homebrew standard di installazione all'interno di usr/local/Homebrew installare le autorizzazioni di emissione

quando provo:

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

E quando uso sudo:

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

Che cosa sono io fare male?

+0

Puoi 'sudo birra install' ma è necessario cambiare prima la autorizzazioni del programma di utilità brew quindi è di proprietà di root. Questa è una funzione di sicurezza. – mxcl

+0

Sembra che il metodo qui sotto modifichi le autorizzazioni dell'utilità Brew, vero? –

+0

No, non è così. – mxcl

risposta

119

In qualche modo avete autorizzazioni limitate a /usr/local/Cellar. Brew non ama installare con sudo, motivo per cui si rifiuta.

controllare le autorizzazioni:

ls -ld /usr/local/Cellar

aprirli per la scrittura:

sudo chmod a+w /usr/local/Cellar

+1

Nizza, ho visto altri approcci come cambiare il proprietario di/usr/local/Cantina di whoami o gruppi Permettere di scrivere su/usr/local – orlybg

+6

Dopo che ho ottenuto 'Errore: Autorizzazione negata -/Libreria/Caches/Homebrew/Formula/... 'e risolto con' sudo chmod -R a + w/Library/Caches/Homebrew' – gfpacheco

+0

Grazie @gfpacheco – Lukas

5

vorrei cambiare i permessi del gruppo:

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

supponendo che l'utente l'account è nell'annuncio di gruppo min.

9

Non utilizzare sudo quando si lavora con brew (per motivi di sicurezza).

Devi impostare le autorizzazioni in modo semplice.

quindi vorrei andare anche oltre e modificare le autorizzazioni per:

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

e quindi applicare il gruppo specifico (sia admin o staff) per utente, che dovrebbe essere consentito di utilizzare brew comando. Controlla i gruppi del tuo utente tramite: id -Gn).

Se ci sono ulteriori problemi, eseguire: brew doctor per vedere cosa c'è che non va.

1

Ciò si verifica anche se sul computer sono presenti più utenti. Se è così, sarebbe meglio per voi cambiare utente poiché ogni altro approccio vi farebbe incazzare con molti più file e cartelle di/usr/local/Cellar

Utilizzare su userWhoInstalledBrew.

0

Il problema può essere risolto modificando il proprietario della directory per l'utente corrente:

sudo chown -R $USER /usr/local 

Questa risposta è tratto da: https://github.com/Homebrew/homebrew/issues/17884

+0

per utenti High Sierra, '/ usr/local' non può più essere' chown'ed (si veda [qui] (https://github.com/Homebrew/brew/issues/3228)). Anche gli utenti di High Sierra potrebbero dover reinstallare Homebrew. –

Problemi correlati