私はMac OSの2番目の「管理者」ユーザーです。私はグループに属しており、最初のユーザーがインストールしたものを使用しよう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
実際には答えはありませんが、同じ問題に直面していますが、根本的な原因を見つけて問題を解決するのに役立ついくつかの手がかりがあるかもしれません。私の場合、2つの管理者アカウントがあるため、Brewのインストール時にACLを使用しましたが、ACLを使用しないため、これはACLの問題ではない可能性があります。
すべての管理者がBrewを使用できるように管理者用のACLを設定するインストール後のスクリプトがあります。 Brewを使用してインストールするたびに、このスクリプトを使用して所有者を復元し、ACLを設定します。
私が知っているのは、setattrlistとfsetattrlistがメタデータに関するものなので、ファインダー/スポットライト情報というだけです。このエラーを完全に削除できるACLメソッドが見つかりませんでした。
ホームブレークがコピーを実行するのと同じ方法を使用すると、ホームブレンドの設置外で再現できます。
たとえば、 $cp -pR /usr/local/Cellar/webp ~/webp $ cp -pR ~/webp/. /usr/local/Cellar/webp# ⇒権限エラーまたはsetattrlistエラーが発生します。 $ cp -pR ~/webp /usr/local/Cellar/webp # ⇒ 動作するので、 homebrew で / を見つけて削除する修正があるかもしれません。 cpのソースを形成します。
これまでにこのエラーが発生した場合は、Cellarからディレクトリを削除してBrew installコマンドを再起動しました。
Brewが多くを更新するのは退屈な作業ですが、これが私が今まで見つけた唯一の解決策です。