
Ich bin ein zweiter „Administrator“-Benutzer auf einem Mac OS. Ich bin in der admin
Gruppe und versuche zu verwenden homebrew
, das vom ersten Benutzer installiert wurde.
Ich habe sichergestellt, dass alles in /usr/local/*
beschreibbar ist admin
, d. h sudo chmod -R g+w /usr/local/*
. .
Beim Versuch, ein paar verschiedene Pakete auszuführen brew install
, erhalte ich einige dieser Fehler
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
Aber bei der Überprüfung hat der Ordner die Berechtigungen, die ich erwartet habe
:; 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
Weiß jemand, was ich hier möglicherweise übersehe?
Antwort1
Ich habe keine wirkliche Antwort, stehe aber vor demselben Problem, aber vielleicht gibt es einige Hinweise, die dabei helfen, die Grundursache zu finden und das Problem zu beheben. Auf meiner Seite verwende ich ACLs bei der Brew-Installation, da ich zwei Administratorkonten habe, aber da Sie keine ACLs verwenden, bedeutet dies, dass dies wahrscheinlich kein ACL-Problem ist, wie ich dachte.
Ich habe ein Post-Installationsskript, das ACLs für die Administratoren einstellt, sodass jeder Administrator Brew verwenden kann. Jedes Mal, wenn ich Brew zur Installation verwende, verwende ich dieses Skript, um den Besitzer wiederherzustellen und ACLs festzulegen
Was ich weiß ist, dass es sich bei setattrlist und fsetattrlist um Metadaten handelt, also um Finder-/Spotlight-Informationen. Ich habe keine Möglichkeit gefunden, diesen Fehler mit ACLs sauber zu beseitigen.
Ich kann es außerhalb der Homebrew-Installation reproduzieren, wenn ich die gleiche Methode verwende, mit der Homebrew die Kopie durchführt
zum Beispiel $ cp -pR /usr/local/Cellar/webp ~/webp $ cp -pR ~/webp/. /usr/local/Cellar/webp # ⇒ erzeugt einen Berechtigungsfehler oder Setattrlist-Fehler $ cp -pR ~/webp /usr/local/Cellar/webp # ⇒ funktioniert, also gibt es wahrscheinlich einen Fix in Homebrew, um das /. aus der Quelle von cp zu finden und zu entfernen.
Wenn dieser Fehler auftritt, entferne ich bisher das Verzeichnis aus Cellar und starte den Befehl „Brew Install“ neu.
mühsam, wenn Brew viele Dinge aktualisiert, aber dies ist derzeit die einzige Problemumgehung, die ich gefunden habe.