我是 Mac 操作系统上的第二个“管理员”用户。我在该admin
组中,并且正在尝试使用homebrew
由第一个用户安装的。
我已确保ie中的所有内容/usr/local/*
均可写入。admin
sudo chmod -R g+w /usr/local/*
当尝试运行brew install
几个不同的包时,我遇到了一些错误
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
但经过检查,该文件夹具有我期望的权限
:; 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
有谁知道我在这里可能会缺少什么?
答案1
我真的没有答案,但我面临着同样的问题,但可能有一些线索有助于找到根本原因并可能解决问题。就我而言,我在brew install 上使用ACL,因为我有两个管理员帐户,但由于您没有使用ACL,这意味着这不太可能是我认为的ACL 问题。
我有一个安装后脚本,为管理员设置 ACL,以便任何管理员都可以使用brew。每次我使用brew安装时,我都会使用这个脚本来恢复所有者并设置ACL
我所知道的是 setattrlist 和 fsetattrlist 是关于元数据的,所以 finder/spotlight 信息。我还没有找到任何 ACL 的方法来彻底消除这个错误。
如果使用与自制程序执行复制相同的方式,我可以在自制程序安装之外重现它
例如 $ cp -pR /usr/local/Cellar/webp ~/webp $ cp -pR ~/webp/。 /usr/local/Cellar/webp # ⇒ 产生权限错误或 setattrlist 错误 $ cp -pR ~/webp /usr/local/Cellar/webp # ⇒ 确实有效,因此自制程序中可能有一个修复程序来查找并删除 / 。形成cp的来源。
到目前为止,当我收到此错误时,我从 Cellar 中删除了该目录并重新启动了 brew install 命令。
当brew更新很多东西时很乏味,但这是我目前找到的唯一解决方法。