我试图为多个用户修复我的 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
's 和chmod
's(如上所述)。然而,这种解决方法并不是很受欢迎,因为我不想在我的用户帐户之间来回切换时“随机”运行所有命令。
根据指南,我有什么遗漏或做错了吗?
我不确定指南的作者是如何解决这个问题的。