複数のユーザー向けに Homebrew のインストールを修正しようとしていたところ、この問題を正確に解決することを目的としたガイドが strug.deで見つかりました。
ユーザー グループを作成し、brew
そのグループに両方のユーザーを追加し、これを実行して権限を調整しました。
sudo chgrp -R brew /usr/local
sudo chmod -R g+w /usr/local
sudo chgrp -R brew /Library/Caches/Homebrew
sudo chmod -R g+w /Library/Caches/Homebrew
sudo chgrp -R brew /opt/homebrew-cask
sudo chmod -R g+w /opt/homebrew-cask
ユーザーアカウントAにログインしているときにこれを行ったとしましょう。数日後、ユーザー アカウントBにログインし、Cask 経由で Dropbox をインストールしようとしました。以前にアクセス許可を修正したため、brew グループもこれらのフォルダーに書き込むことができるため、これは魅力的な機能です。
さらに数日後、アカウントAに再びログインし、Dropbox を削除したいと考えています。次のコマンドを実行しましたが、アクセス許可エラーが発生しました。
$ brew cask install dropbox --force
==> Downloading https://www.dropbox.com/download?plat=mac&full=1
Already downloaded: /Library/Caches/Homebrew/dropbox-latest
==> Symlinking App 'Dropbox.app' to '/Users/friedmann/Applications/Dropbox.app'
Error: Permission denied - /opt/homebrew-cask/Caskroom/dropbox/.metadata/latest/20150217070443.598
Most likely, this means you have an outdated version of homebrew-cask. Please run:
brew update && brew upgrade brew-cask && brew cleanup && brew cask cleanup
If this doesn’t fix the problem, please report this bug:
https://github.com/caskroom/homebrew-cask/issues
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:245:in `mkdir'
[...]
ユーザーBに対してこれを修正するには、chgrp
とをchmod
(上記のように) 再度実行する必要があります。ただし、ユーザー アカウントを切り替えるたびにすべてのコマンドを「ランダムに」実行したくないため、この回避策はあまり高く評価されていません。
不足しているもの、またはガイドに従って間違っていたことはありますか?
ガイドの作成者がこれをどのように解決したかはわかりません。