não é possível usar chown / usr / local para homebrew no Mac OS X 10.13 High Sierra


118

O Homebrew precisa de permissões em / usr / local e como ninguém mais usa meu laptop, eu sempre simplesmente fiz

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

mas em High Sierra, isso dá

chown: /usr/local: Operation not permitted

Qual é a solução?


Resolvido com: sudo chown -R "$ USER": admin / usr / local / *
Marcelo Campusano

Respostas:


218

O problema continuou ocorrendo ... depois de cavar mais fundo, descobri que apenas desinstalar o Homebrew e reinstalá-lo resolveu o problema.

Desinstalar o Homebrew:

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

Em seguida, reinstale-o:

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

4
esta era a única maneira de consertar meu homebrew após a atualização do "High" Sierra. meu erro foi: gh4x-mbpr:~ gh4x$ brew link git Linking /usr/local/Cellar/git/2.15.0... Error: Permission denied @ dir_s_mkdir - /usr/local/lib e sudo chown -R $(whoami) $(brew --prefix)/* não ajudou ...
gh4x

Inacreditável. Falha na primeira vez, o script de desinstalação falhou, a segunda instalação funcionou.
GreenAsJade

Você pode querer salvar a saída de brew listem um arquivo primeiro, para ter um registro de quais pacotes foram instalados.
Giles Gardam

1
Nenhuma das outras várias correções de homebrew do Mojave funcionaria no meu sistema. Desinstalar / reinstalar funcionou perfeitamente.
pkamb de

2
Funciona também com Catalina
Gefilte Fish

52

Infelizmente você não pode mais chown /usr/localem High Sierra. Uma solução alternativa é sudo mkdir /usr/local/includee /usr/local/Frameworksse eles não existirem, e

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

Obrigado ao ilovezfs por esta solução simples e pelo incrível homebrew!


9
Ainda não funciona. $ brew update Error: O diretório / usr / local não é gravável.
Laurence Cope de

Tente desinstalar e reinstalar o Homebrew: stackoverflow.com/questions/46459152/…
ruggershawn

como comentei em outro lugar, a desinstalação remove TODOS os seus pacotes de cerveja.
Jaydel

$(brew --prefix)deve avaliar /usr/local/, eu acredito.
Jordan Stewart

33

Você não pode alterar a permissão para /usr/localsi mesmo, mas pode alterar a permissão certa para as pastas abaixo, então isso corrigiu o
sudo chown -R $(whoami) /usr/local/*


1
Obter o mesmo problema ainda
Laurence Cope

2
Rodando no MacOS High Sierra. Trabalhou. Obrigado.
Príncipe Odame de

2
Trabalhou para mim em: macOS High Sierra 10.13.6
Gail Parsloe

8

Eu segui isso, mas o problema ainda persiste.
Então, eu reinstalei o homebrew sem desinstalar o anterior. Está funcionando agora!
(Não sei como)


3
Eu recomendo desinstalar completamente o Homebrew e depois instalá-lo novamente.
k1r8r0wn

Múltiplas instaladas funcionaram, eu não fui capaz de consertar até desinstalar.
cbowns de

desinstalar vai estragar tudo. Tenho muitos pacotes instalados e terei que instalá-los novamente. Infelizmente, tudo isso funcionou anteriormente porque TENHO esses pacotes.
Jaydel


3

Tente desativar a proteção de integridade do sistema . Da documentação:

A proteção da integridade do sistema pode ser configurada usando o comando csrutil (1).

Você pode verificar se a Proteção de Integridade do Sistema está ativada em seu sistema, executando o seguinte comando no Terminal:

$ csrutil status
System Integrity Protection status: enabled.

Para habilitar ou desabilitar a Proteção de Integridade do Sistema, você deve inicializar no Recovery OS e executar o comando csrutil (1) no Terminal.

Inicialize o sistema operacional de recuperação reiniciando sua máquina e mantendo pressionadas as teclas Command e R na inicialização. Inicie o Terminal no menu Utilitários. Digite o seguinte comando: $ csrutil enable

Depois de ativar ou desativar a Proteção de integridade do sistema em uma máquina, é necessário reinicializar.


Embora isso possa teoricamente responder à pergunta, seria preferível incluir as partes essenciais da resposta aqui e fornecer o link para referência.
Jake Symons de

3
Isso é um pouco como remover a proteção de sua serra de mesa. Funciona e pode ser necessário às vezes, mas é mais seguro se você não precisar fazer isso. Definir-se como o proprietário de / usr / local para fazer o homebrew funcionar sempre pareceu um hack de qualquer maneira.
Caleb

3
Isso é altamente desencorajado! É extremamente perigoso, a menos que o usuário não saiba o que está fazendo.
Abu Shumon

@oligofren: D: D: D vamos lá, cara. Relaxe, não é um word in contextconcurso de inglês . : D: D Sinaliza para avisar o usuário. Mas tudo bem, você pega as palavras para mim então: p: p
Abu Shumon

1

se você estiver usando zsh porque veio do bash, pode ser necessário alterar seu $ PATH. você deve adicionar export PATH=$HOME/bin:/usr/local/bin:$PATH .zshrc

então deve funcionar, esse problema resolvido no meu mac desta forma.


1

Também estou no 10.13 High Sierra. Tentei as sugestões anteriores; nada funcionou. Por fim, tentei primeiro instalar as ferramentas de linha de comando :

xcode-select --install

e depois (re) execute o comando brew install:

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

e finalmente funcionou.


0

Certifique-se de que não haja um bloqueio definido na pasta de início ou em qualquer pasta à qual uma instalação precise acessar.

Mesmo se as permissões e propriedade estiverem configuradas corretamente e você estiver atualmente conectado com um usuário correto / ou usuário root, isso não permitirá que você crie novas pastas ou diretórios.


0

Eu não tinha a pasta / user / local / Frameworks, então isso corrigiu para mim

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

Eu tenho OSX High Sierra


0

este é Kaushik. Estou usando o MacBook Pro macOS Catalina 10.15.4. Eu criei uma nova conta de administrador, mas brew estava lançando um erro. Por isso, segui um passo deste post. o que funcionou é:

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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.