Brew dice: “Attenzione: / usr / local / include non è scrivibile”.

Brew dice:

Attenzione: / usr / local / include non è scrivibile. Questo può accadere se si installa “sudo make install” che non è gestito da Homebrew.

Se una miscela tenta di scrivere un file di intestazione in questa directory, l’installazione non riuscirà durante la fase di collegamento.

Probabilmente dovresti chown / usr / local / include

Ho provato diversi comandi per risolvere questo problema ma sono ancora bloccato qui.

Sto eseguendo homebrew su 10.8.2

Prendi possesso di esso e di tutto ciò che contiene.

Mac OS High Sierra o più recente: (ty to Kirk nei commenti sotto)

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

Versioni precedenti di macos:

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

Quindi fai un altro

 $ brew doctor 

Anche quello che ha funzionato per me

 sudo chmod g+w /usr/local sudo chgrp staff /usr/local 

Quello che ha funzionato per me è stato

 $ sudo chown -R yourname:admin /usr/local/bin 

L’unico che ha funzionato per me su El Capitan è stato:

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

Puoi alias il comando per risolvere questo problema nel tuo profilo .bash_profile ed eseguirlo ogni volta che lo incontri:

Alla fine del file ~/.bash_profile , aggiungi:

 alias fix_brew='sudo chown -R $USER /usr/local/' 

E ora nel tuo terminale puoi eseguire:

 $ fix_brew 

Questo ha funzionato per me su macOS 10.12

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

Ho avuto il problema di aggiornare homebrew con il seguente errore:

 /usr/local is not writable. You should change the ownership and permissions of /usr/local back to your user account: sudo chown -R $(whoami) /usr/local 

Per l’alta Sierra:

 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 

Quindi, prova i tuoi comandi di preparazione.

Numero # 3285

Lavora per me

 $ sudo chown -R $(whoami):admin /usr/local $ cd /usr/local/Library && git stash && git clean -d -f 

Per alcuni sarà:

 sudo chown -R JonJames:admin /usr/local/lib 

dove “lib” è usato in contrapposizione a “bin” o “include” o “qualunque altra cosa”

L’ avviso Homebrew “dovrebbe” spiegare che cosa specificamente non è scrivibile e quindi darti una syntax di comando da seguire, comunque dovrai usare “:” al contrario di ciò che l’Avvertenza menziona che in realtà non è la syntax corretta ??

Se ti trovi in High Sierra e stai riscontrando questo problema, procedi nel seguente modo ( Nota: / usr / local non può essere chown’d in High Sierra ):

 sudo mkdir /usr/local/include sudo chown -R $(whoami) $(brew --prefix)/* 

Quindi prova a collegarti con brew link. Stavo vivendo un problema simile e nessuna delle soluzioni di cui sopra ha funzionato per High Sierra. Spero che questo aiuti qualcuno.

Stesso errore su MacOS 10.13

/usr/local/include e /usr/local/ /usr/lib non sono stati creati. Ho creato manualmente e brew link finalmente funzionato.

Cosa ha funzionato per me, pur avendo più di 1 utente sul mio computer.

Utilizzando il terminale:

  • In esecuzione brew doctor
    • Vedere più /usr/local/... non è un errore scrivibile
  • Disabilitazione della protezione dell’integrità del sistema di Mac: https://apple.stackexchange.com/a/208481/55628
  • Esegui quanto segue
  • sudo chown -R $(whoami) /usr/local/*
  • brew doctor && brew upgrade && brew doctor

Esecuzione di MacBook Pro OSX High Sierra (versione 10.13.3.)

MODIFICA 1:

Cordiali saluti – Si prega di essere avvisati questo causa un problema con l’esecuzione di MySQL sul tuo MAC.

Per poter avviare il mio server locale, ho dovuto eseguire:

 sudo chown -R mysql:mysql /usr/local/mysql/data 

Dopo averlo eseguito, puoi avviare il tuo MySQL Server locale.

Devi avere il controllo di intero /usr/local per fare ciò che devi fare un chown ricorsivo sotto /usr/local

sudo chown -R YOUR_USERNAME:admin /usr/local/

Devi creare / usr / local / include e / usr / local / lib se non esistono:

 $ sudo mkdir -p /usr/local/include $ sudo chown -R $USER:admin /usr/local/include 

Ho avuto questo successo nella mia organizzazione dopo che tutti i nostri utenti erano legati alla directory triggers (cambiando efficacemente l’UID da 50x a ######).

Ora è semplicemente un caso di cambiare la proprietà di tutti i file in cui erano posseduti da x a y.

Dove 501 è il mio vecchio ID utente numerico che è ancora associato a tutti i file homebrew.

Il vecchio ID utente può essere trovato usando ll /usr/local/Cellar

Ora aggiorna la proprietà sudo find /usr/local -user 501 -exec chown -h $USER {} \;

In questo modo evitiamo di modificare la proprietà su file che non sono controllati da homebrew o appartengono ad altri utenti di sistema.