18

複数のユーザー向けに 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(上記のように) 再度実行する必要があります。ただし、ユーザー アカウントを切り替えるたびにすべてのコマンドを「ランダムに」実行したくないため、この回避策はあまり高く評価されていません。

不足しているもの、またはガイドに従って間違っていたことはありますか?

ガイドの作成者がこれをどのように解決したかはわかりません。

4

4 に答える 4

1

グレゴリオの答えに加えて、次のことも必要であることがわかりました。

sudo chgrp -R brew /usr/local/Cellar
sudo chmod -R g+w /usr/local/Cellar
于 2017-07-13T20:08:30.967 に答える