non può chown / usr / local per homebrew in Mac OS X 10.13 High Sierra


118

Homebrew ha bisogno di autorizzazioni in / usr / local e poiché nessun altro usa il mio laptop, l'ho sempre fatto

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

ma in High Sierra, questo dà

chown: /usr/local: Operation not permitted

Qual è la soluzione?


Risolto con: sudo chown -R "$ USER": admin / usr / local / *
Marcelo Campusano

Risposte:


218

Il problema continuava a verificarsi ... dopo aver scavato più a fondo ho scoperto che solo la disinstallazione di Homebrew e la reinstallazione risolvevano questo problema.

Disinstalla Homebrew:

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

Quindi reinstallalo:

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

4
questo era l'unico modo per riparare il mio homebrew dopo l'aggiornamento Sierra "High". il mio errore è stato: gh4x-mbpr:~ gh4x$ brew link git Linking /usr/local/Cellar/git/2.15.0... Error: Permission denied @ dir_s_mkdir - /usr/local/lib e non ha sudo chown -R $(whoami) $(brew --prefix)/* aiutato ...
gh4x

Incredibile. La prima volta non è riuscito, lo script di disinstallazione non è riuscito, la seconda installazione ha funzionato.
GreenAsJade

Potresti prima salvare l'output di brew listin un file, per avere un record di quali pacchetti sono stati installati.
Giles Gardam

1
Nessuna delle altre varie correzioni homebrew Mojave funzionerebbe sul mio sistema. La disinstallazione / reinstallazione ha funzionato perfettamente.
pkamb

2
Funziona anche con Catalina
Gefilte Fish

52

Sfortunatamente non puoi più chown /usr/localin High Sierra. Una soluzione alternativa è sudo mkdir /usr/local/includee, /usr/local/Frameworksse non esistono, e

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

Grazie a ilovezfs per questa semplice soluzione alternativa e per l'incredibile homebrew!


9
Continua a non funzionare. $ brew update Errore: la directory / usr / local non è scrivibile.
Laurence Cope

Prova disinstallare e reinstallare Homebrew: stackoverflow.com/questions/46459152/...
ruggershawn

come ho commentato altrove, la disinstallazione rimuove TUTTI i tuoi pacchetti di birra.
jaydel

$(brew --prefix)dovrebbe valutare /usr/local/, credo.
Jordan Stewart

33

Non è possibile modificare l'autorizzazione per /usr/localse stessa, ma è possibile modificare l'autorizzazione giusta per le cartelle sottostanti, quindi questo ha risolto il problema
sudo chown -R $(whoami) /usr/local/*


1
Ricevi ancora lo stesso numero
Laurence Cope

2
In esecuzione su MacOS High Sierra. Lavorato. Grazie.
Prince Odame

2
Ha funzionato per me su: macOS High Sierra 10.13.6
Gail Parsloe

8

Ho seguito questo ma il problema persiste ancora.
Quindi, ho reinstallato l' homebrew senza disinstallare quello precedente. Sta lavorando adesso!
(Non so come)


3
Consiglio di disinstallare completamente Homebrew e quindi installarlo di nuovo.
k1r8r0wn

Più installazioni hanno funzionato, non sono stato in grado di risolverlo fino a quando non ho disinstallato.
cbown l'

la disinstallazione rovinerà tutto. Ho un sacco di pacchetti installati e dovrò rivederli e installarli di nuovo. Purtroppo tutto questo ha funzionato in precedenza perché HO quei pacchetti.
jaydel


3

Prova a disabilitare la protezione dell'integrità del sistema . Dalla documentazione:

La protezione dell'integrità del sistema può essere configurata utilizzando il comando csrutil (1).

Puoi verificare se la protezione dell'integrità del sistema è attualmente abilitata sul tuo sistema eseguendo il seguente comando nel Terminale:

$ csrutil status
System Integrity Protection status: enabled.

Per abilitare o disabilitare la protezione dell'integrità del sistema, è necessario avviare il sistema operativo di ripristino ed eseguire il comando csrutil (1) dal terminale.

Avvia il sistema operativo di ripristino riavviando la macchina e tenendo premuti i tasti Comando e R all'avvio. Avvia Terminal dal menu Utilità. Immettere il seguente comando: $ csrutil enable

Dopo aver abilitato o disabilitato la protezione dell'integrità del sistema su una macchina, è necessario riavviare.


Sebbene questo possa teoricamente rispondere alla domanda, sarebbe preferibile includere qui le parti essenziali della risposta e fornire il collegamento per riferimento.
Jake Symons

3
È un po 'come rimuovere la protezione dalla sega da tavolo. Funziona e potrebbe essere necessario a volte, ma è più sicuro se non devi farlo. Impostare te stesso come proprietario di / usr / local per far funzionare homebrew è sempre sembrato comunque un hack.
Caleb

3
Questo è altamente sconsigliato! È estremamente pericoloso a meno che l'utente non faccia ciò che sta facendo.
Abu Shumon

@oligofren: D: D: D andiamo amico. Rilassati, non è un word in contextconcorso inglese . : D: D Flag per avvisare l'utente. Ma va bene, allora prendi le parole per me: p: p
Abu Shumon

1

se stai usando zsh perché vieni da bash potresti dover cambiare il tuo $ PATH. dovresti aggiungere export PATH=$HOME/bin:/usr/local/bin:$PATH .zshrc

allora dovrebbe funzionare, questo problema è stato risolto nel mio Mac in questo modo.


1

Sono anche su 10.13 High Sierra. Ho provato i suggerimenti precedenti; niente ha funzionato. Alla fine ho provato a installare prima gli strumenti della riga di comando :

xcode-select --install

e poi in seguito (ri) eseguito il comando brew install:

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

e finalmente ha funzionato.


0

Assicurati di non avere un blocco impostato sulla cartella Inizio o su qualsiasi cartella a cui deve accedere l'installazione.

Anche se le autorizzazioni e la proprietà sono impostate correttamente e sei attualmente connesso con un utente corretto / o utente root, non ti consentirà di creare nuove cartelle o directory.


0

Non avevo la cartella / user / local / Frameworks, quindi è stato risolto per me

sudo mkdir -p /usr/local/Frameworks
sudo chown -R $(whoami) /usr/local/Frameworks

Ho OSX High Sierra


0

questo è Kaushik. Sto usando MacBook Pro macOS Catalina 10.15.4. Ho creato un nuovo account amministratore ma brew generava un errore. Quindi, ho seguito un passaggio da questo post. quello che ha funzionato è:

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.