2014-11-07 7 views
18

Ciao Ho appena provato a installare git via homebrew sul mio mac - qualcosa non va. Ho installato il github per Mac, ma ho provato a rimuoverlo. La versione git attuale nel mio sistema è:Installa git via homebrew su mac osx 10.10 restituito in: Errore: Autorizzazione negata - /usr/local/lib/perl5/site_perl/5.18.2

[email protected]~: $ git --version 
git version 1.9.3 (Apple Git-50) 

Questo è ciò che succede se cerco di installare git via homebrew:

[email protected]~: $ brew install git 
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/git-2.1.3.y 
######################################################################## 100,0% 
==> Pouring git-2.1.3.yosemite.bottle.tar.gz 
==> Caveats 
The OS X keychain credential helper has been installed to: 
    /usr/local/bin/git-credential-osxkeychain 

The 'contrib' directory has been installed to: 
    /usr/local/share/git-core/contrib 

Bash completion has been installed to: 
    /usr/local/etc/bash_completion.d 

zsh completion has been installed to: 
    /usr/local/share/zsh/site-functions 
Error: An unexpected error occurred during the `brew link` step 
The formula built, but is not symlinked into /usr/local 
Permission denied - /usr/local/lib/perl5/site_perl/5.18.2 
Error: Permission denied - /usr/local/lib/perl5/site_perl/5.18.2 

Come posso risolvere questo problema?

+0

Cosa succede se l'installazione come un utente elevati utilizzando 'sudo birra installare git' –

+2

Perché avrei dovuto fare sudo con birra , non è davvero l'idea è? –

+0

Quando ho commentato la domanda pensavo a Macports, sei corretto con Homebrew - l'uso di 'sudo' non è nemmeno supportato –

risposta

52

Ho anche incontrato lo stesso problema. Penso che dovremmo cambiare il permesso leggibile per assicurarci che qualsiasi directory sia leggibile da "tutti". Così ho provato il comando: sudo chown -R $USER:admin /usr/local e poi: brew link --overwrite git Funziona per me, spero che funzionerà anche per te.

+4

@NielsKristian: probabilmente hai qualcosa (non-Homebrew) precedentemente installato in/usr/local o ad un certo punto hai eseguito comandi con sudo che ha scritto in/usr/local. La modifica delle autorizzazioni è ciò che dovresti fare e ciò che fa l'installatore Homebrew. C'è una discussione importante su questo nella pagina Homebrew 'issues' che puoi trovare [qui] (https://github.com/Homebrew/homebrew/issues/9953#issuecomment-3800557). Mike McQuaid, un manutentore di homebrew, chiarisce che il cambiamento di/usr/local privs è il modo preferito. Lo vedrai suggerire un cambiamento simile ai permessi come Jonyzfu. –

+2

@Jonyzfu anche se il tuo comando è ok, penso che il tuo ragionamento sia sbagliato .sudo chown -R $ USER: admin/usr/local' non rende tutto in '/ usr/local' leggibile da tutti. La '-R' significa 'ricorsiva'. Quello che fa questo comando è modificare' user' e 'group' in modo che $ USER in questione e il gruppo' admin' siano proprietari.'$ USER' è una variabile che contiene il nome dell'utente che hai effettuato l'accesso come quando esegui il comando. Se non sei un membro del gruppo 'admin' o l'utente che hai eseguito il tuo comando con te potresti ritrovarti con privilegi readw/rite restrittivi a seconda delle effettive autorizzazioni di directory/file. –

+0

@ MichaelPetch Grazie per la tua spiegazione in dettaglio. È utile Fornirò la mia risposta in modo più dettagliato e accurato la prossima volta, proprio come il tuo atteggiamento. – Jonyzfu

5

ho avuto un simile permission denied errore di installazione del git fino a quando ho ripulito le cose:

$brew doctor 
    ..... << long output of issues, so you run: 
$brew prune 
$brew doctor 
    ..... << less issues now, so manually clean up 
$brew update 
$brew install git 

Vuol risolvere il tuo errore come bene?

7

Per quelli con il nuovo El Capitan OS, sarà necessario aggiornare il permesso:

Apri Terminale e digitare i seguenti comandi:

$ sudo chown -R $(whoami):admin /usr/local 
$ brew doctor 
$ brew update 
$ brew link --overwrite git 

La soluzione di cui sopra funzionerà per altre installazioni brew come nodo, ecc. Sostituisci l'ultima riga solo se hai avviato l'installazione ma hai riscontrato errori durante l'installazione di brew.

3

Da High Sierra, chown di /usr/local non è consentito. Tuttavia è ancora possibile modificare i permessi nelle sottodirectory in /usr/local.

Nel mio caso, ho dovuto creare Frameworks in /usr/local e sudo chown -R $(whom) Frameworks. Dopo di ciò, segui ciò che dice brew doctor.

Il modo migliore è quello di creare sottodirectory tutto ciò che serve ed eseguire

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

Problemi correlati