Eu desinstalei e instalei o Homebrew 3 vezes agora, porque parece que nunca me permite instalar nada, pois me nega permissões no final da maioria das instalações.
Como exemplo, vou postar este cenário de download libjpeg que estou enfrentando atualmente.
Eu tento instalar o libjpeg e obtenho:
$ brew install libjpeg
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/jpeg-8d.mountain_lion.bottle.1.tar.gz
Already downloaded: /Library/Caches/Homebrew/jpeg-8d.mountain_lion.bottle.1.tar.gz
==> Pouring jpeg-8d.mountain_lion.bottle.1.tar.gz
Warning: Could not link jpeg. Unlinking...
Error: The brew link step did not complete successfully
The formula built, but is not symlinked into /usr/local
You can try again using `brew link jpeg'
Error: Permission denied - /usr/local/opt/jpeg
resulta em "link brew jpeg" em
Error: Permission denied - /usr/local/opt/jpeg
Aqui está o que meu médico de cerveja lê
$ brew doctor
Warning: "config" scripts exist outside your system or Homebrew directories.
./configure scripts often look for *-config scripts to determine if
software packages are installed, and what additional flags to use when
compiling and linking.
Having additional scripts in your path can confuse software installed via
Homebrew if the config script overrides a system or Homebrew provided
script of the same name. We found the following "config" scripts:
/Library/Frameworks/Python.framework/Versions/2.7/bin/python-config
/Library/Frameworks/Python.framework/Versions/2.7/bin/python2-config
/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7-config
Warning: You have unlinked kegs in your Cellar
Leaving kegs unlinked can lead to build-trouble and cause brews that depend on
those kegs to fail to run properly once built. Run brew link on these:
jpeg
Esse problema de permissão tornou impossível o uso de cerveja em qualquer coisa e eu realmente aprecio qualquer sugestão.
sudo chown -R $USER:admin /Library/Caches/Homebrew
para me livrar dos meus problemas de permissão.admin
grupo é todo usuário administrador (que é todo usuário da conta do usuário do macOS que podesudo
, entre outras coisas). Portanto, executandochown -R …:admin
juntochmod -R g+w /usr/local
(conforme sugerido por @AndreaDeGaetano), você não fará nada de errado aqui e não terá problemas com outros usuários também usam/usr/local
/brew
.Novo comando para usuários no macOS High Sierra, pois não é possível
chown
ativar/usr/local
:bash/zsh
:fish
:Referência: Não é possível chown / usr / local em High Sierra
fonte
sudo chown -R (whoami) (brew --prefix)/*
sudo mkdir /usr/local/Frameworks
, seguido pelo comando chown, como aparece nesta resposta.Como primeira opção para quem chega aqui como eu, siga o que isso sugere:
É o caminho mais seguro e, entre outras coisas, sugeriu que eu:
que resolveu esse problema de permissões.
O OP fez exatamente isso, mas aparentemente não recebeu a sugestão acima; você pode, e é sempre melhor começar por aí, e só então procurar soluções não triviais, se não ajudou.
fonte
chown: /usr/local: Operation not permitted
não funciona a partir de 5 de julho de 2019Se você estiver no OSX High Sierra,
/usr/local
não será mais possívelchown
. Você pode usar:sudo chown -R $(whoami) $(brew --prefix)/*
fonte
Eu não tinha a
/usr/local/Frameworks
pasta, então isso a corrigiu para mimA primeira linha cria uma nova pasta Frameworks para uso em homebrew (brew). A segunda linha fornece a essa pasta suas permissões de usuário atuais, que são suficientes.
Os comandos usados são os seguintes:
Eu tenho o OSX High Sierra
fonte
Eu tive esse problema. Uma solução funcional é alterar a propriedade do
/usr/local
usuário atual em vez deroot
:Mas, na verdade, esse não é um caminho adequado. Principalmente se sua máquina for um servidor ou usuário múltiplo.
Minha sugestão é alterar a propriedade como acima e fazer o que você deseja implementar com o Brew .. (atualizar, instalar ... etc) e redefinir a propriedade de volta à raiz como:
Isso resolveria o problema e manteria a propriedade definida no conjunto adequado.
fonte
O comando da resposta mais votada não funciona para mim.
Tem saída:
Este comando funciona bem (o grupo para / usr / local
admin
já estava ):fonte
sudo chown -R "$USER":admin /usr/local
Error: Running Homebrew as root is extremely dangerous and no longer supported. As Homebrew does not drop privileges on installation you would be giving all build scripts full access to your system.
chown: /usr/local: Operation not permitted
Ainda não queria mexer nas permissões de pasta, então fiz o seguinte:
brew doctor
brew upgrade
brew cleanup
Pude continuar instalando minha outra fórmula de fermentação com sucesso.
fonte
Se você deseja uma abordagem um pouco mais direcionada do que o cobertor
chown -R
, pode achar estefix-homebrew
script útil:Em vez de fazer um
chmod
para o usuário, ele fornece aoadmin
grupo (ao qual você provavelmente pertence) o acesso de gravação aos diretórios específicos/usr/local
usados pelo homebrew. Também informa exatamente o que pretende fazer antes de fazê-lo.fonte
No meu caso, o / usr / local / Frameworks nem existia, então eu fiz:
E então tudo funcionou como esperado.
fonte
Isso resolveu o problema para mim.
fonte
Resolvi meu problema com estes comandos:
fonte
Mac OS 10.13.4
No meu caso, eu tive que criarsudo mkdir /usr/local/Frameworks
esudo chown -R $(whoami) /usr/local/Frameworks
ser capaz de vincular python!Para um Mac multiusuário, isso funcionou para mim:
fonte
Todas essas sugestões podem funcionar. Na versão mais recente do brew doctor, foram feitas melhores sugestões.
Em primeiro lugar - corrija a bagunça que você provavelmente já fez
/usr/local
executando isso na linha de comando:sudo chown -R root:wheel /usr/local
Em seguida, aproprie-se dos caminhos que devem ser especificamente para esse usuário:
Todas essas informações estão disponíveis se você executar
sudo brew update
e, em seguida, ler todos os avisos e erros nos quais irá executar ...fonte
Para mim, funcionou depois
brew doctor
Os comandos de permissão de alteração resultaram em outro erro
chown: /usr/local: Operation not permitted
fonte
Existe um script matador no github que corrige permissões nos diretórios / usr / local e brew para serem acessíveis por qualquer pessoa que seja membro do grupo 'admin'.
https://gist.github.com/jaibeee/9a4ea6aa9d428bc77925
Esta é uma solução melhor que a resposta escolhida, pois se você converter os diretórios / usr / local / ___ para $ USER, poderá quebrar qualquer outro usuário administrador do homebrew nessa máquina.
Aqui estão as entranhas do script no momento em que publiquei isso:
fonte
No MacOS Mojave, eu também não tinha permissão para
chown
a pasta / usr / local (sudo chown -R "$USER":admin /usr/local
).sudo chown -R "$USER":admin /usr/local/*
funcionou para mim no entanto, alterando as permissões de tudo dentro da pasta local.Espero que isso ajude outras pessoas com o mesmo problema.
fonte
Na verdade, é realmente simples, execute este comando:
brew doctor
E ele lhe dirá o que fazer, para corrigir problemas de permissão, por exemplo, no meu caso:
Este foi o problema:
E esta foi a solução:
fonte
fonte
No meu caso, estou com problemas para remover e reinstalar o SaltStack.
Depois de correr:
Notei que o proprietário do grupo era "equipe". (BTW, estou executando o macOS Mojave versão 10.14.3.) O grupo de funcionários pode estar relacionado à minha configuração do local de trabalho, mas eu realmente não sei. Independentemente disso, eu preservei o grupo para me impedir de quebrar mais alguma coisa.
Eu então corri:
Depois disso, consegui removê-lo com este comando (não como root):
fonte
Se você não possui o Homebrew mais recente: eu "consertei" isso no passado, forçando o Homebrew a ser executado como root, o que só poderia ser feito alterando a propriedade dos executáveis do Homebrew para root. Em algum momento, eles removeram esse recurso.
E eu sei que eles vão dar muitos avisos dizendo que não deve ser executado como root, mas vamos lá, não funcionará corretamente de outra forma.
fonte
Eu tentei de tudo nesta página, acabei usando esta solução:
brew uninstall --force brew-cask; brew untap $tap_name; brew update; brew cleanup; brew cask cleanup;
Minha situação era semelhante à do OP, no entanto, meu problema foi causado especificamente pela execução do sudo com o barril de fermentação e a obtenção incorreta da minha senha. Depois disso, fiquei com as permissões impedindo a instalação.
fonte
Para resolver erros nas permissões do Brew na pasta, execute
Isso resolverá os problemas e não precisamos exibir nenhum diretório.
fonte
brew cleanup --prune-prefix
Estou na Catalina e recebi este erro:
Eu só precisava mostrar o
Homebrew
diretóriofonte
Eu usei esses dois comandos e salvei meu problema
fonte
tente também executar este comando
sudo chmod + t / tmp
fonte