
Sou um segundo usuário "Administrador" em um Mac OS. Estou no admin
grupo e estou tentando usar o homebrew
, que foi instalado pelo primeiro usuário.
Eu me certifiquei de que tudo pode /usr/local/*
ser gravado por admin
, ou seja sudo chmod -R g+w /usr/local/*
, .
Ao tentar executar brew install
alguns pacotes diferentes, recebo alguns desses erros
cp: setattrlist: /usr/local/Cellar/[email protected]/.: Permission denied
cp: chmod: /usr/local/Cellar/[email protected]/.: Operation not permitted
Error: Failure while executing; `cp -pR /private/tmp/d20210523-60782-14t7vu8/[email protected]/. /usr/local/Cellar/[email protected]` exited with 1. Here's the output:
cp: setattrlist: /usr/local/Cellar/[email protected]/.: Permission denied
cp: chmod: /usr/local/Cellar/[email protected]/.: Operation not permitted
Mas ao inspecionar, a pasta tem as permissões que eu esperava
:; ls -al /usr/local/Cellar/icu4c/
total 0
drwxrwxr-x 3 user1 admin 96 May 23 14:06 .
drwxrwxr-x 73 user1 admin 2336 May 23 14:05 ..
drwxrwxr-x 12 user1 admin 384 May 23 14:06 67.1
Alguém sabe o que posso estar perdendo aqui?
Responder1
Na verdade, não tenho uma resposta, mas estou enfrentando o mesmo problema, mas podem haver algumas pistas que ajudarão a progredir na localização da causa raiz e podem resolver o problema. Da minha parte, estou usando ACLs na instalação do brew, pois tenho duas contas de administrador, mas como você não está usando ACLs, isso significa que provavelmente não é um problema de ACL como pensei.
Eu tenho um script de pós-instalação que define ACLs para os administradores para que qualquer administrador possa usar o brew. Cada vez que uso o brew para instalar, uso este script para restaurar o proprietário e definir ACLs
O que eu sei é que setattrlist e fsetattrlist são sobre metadados, portanto, informações do localizador/destaque. Não encontrei nenhuma maneira com as ACLs de eliminar esse erro de forma limpa.
Posso reproduzi-lo fora da instalação do homebrew se usar a mesma maneira que o homebrew executa a cópia
por exemplo $ cp -pR /usr/local/Cellar/webp ~/webp $ cp -pR ~/webp/. /usr/local/Cellar/webp # ⇒ produz um erro de permissão ou erro setattrlist $ cp -pR ~/webp /usr/local/Cellar/webp # ⇒ funciona, então provavelmente há uma correção no homebrew para encontrar e remover o / . formam a fonte de cp.
Até agora, quando recebo esse erro, removo o diretório do Cellar e reinicio o comando brew install.
tedioso quando o brew está atualizando muitas coisas, mas esta é a única solução alternativa que encontrei por enquanto.