我正在尝试为多个用户修复我的Homebrew安装,并找到了关于strug.de(http://blog.strug.de/2012/06/my-homebrew-multi-user-setup/)的指南,该指南旨在解决此问题。
我创建了一个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
' s(如上所述) 。然而,这种解决方法并不是真的很感激,因为我不想随意地#34;每当我在用户帐户之间来回切换时,都会运行所有命令。
根据指南,我有什么遗漏或者我做错了吗?
我不确定该指南的作者是如何解决这个问题的。
答案 0 :(得分:3)
我知道这个问题有点陈旧,但我的回答可以帮助其他人到这里寻求帮助。
帮助我解决这个问题的主要问题是,多个用户的homebrew-cask也在设置Caskroom文件夹的权限:
sudo chgrp -R brew /opt/homebrew-cask/Caskroom
sudo chmod -R g+w /opt/homebrew-cask/Caskroom
然后brew cask install dropbox
工作得很好。
答案 1 :(得分:1)
我必须在 Catalina 10.15.2 上进行设置,并按照以下步骤操作:
注意
我使用了系统偏好设置中的“用户和群组”设置, 酿造组(创建新帐户时选择组)。我添加了 执行对该群组的权限,以便我可以访问dart2native 可执行为非管理员用户。
我还使用Cakebrew来管理所有公式, 配置正在运行。我确实注意到了一个警告,如果用户A有一个 文件已锁定,他们将需要运行Brew清理才能进行清理 为用户B酿造。
使用
brew cask install <appname>
时-如果其中一位用户可能会遇到问题 不是管理员,在这种情况下,管理员用户可能需要执行 安装。除了这些警告以外,一切似乎都运行良好。
(假设Allen是管理员,而Stan不是)
(来源:https://medium.com/@leifhanack/homebrew-multi-user-setup-e10cb5849d59)
答案 2 :(得分:0)
除格雷戈里奥的答案外,我发现我还必须:
sudo chgrp -R brew /usr/local/Cellar
sudo chmod -R g+w /usr/local/Cellar
答案 3 :(得分:0)
我从几篇文章中整理了以下内容,因为我无法在一个地方找到所有需要的东西,例如创建群组的命令。
在macOS Mojave 10.14.4(18E226)上为我工作。
brew-multiuser.sh :
#!/bin/bash
# Create a new group, brew
sudo dseditgroup -o create brew
# Change owner to brew group on brew assets
sudo chgrp -R brew $(brew --prefix)/*
# Change permissions to brew group
sudo chmod -R g+w $(brew --prefix)/*
# Add a user to the brew group
sudo dseditgroup -o edit -a userOne -t user brew
# Add another user to the brew group
sudo dseditgroup -o edit -a userTwo -t user brew
# Validate links, etc.
brew doctor
# Make any corrections from the `brew doctor` warnings, such as relinking.
# Run brew doctor to validate fixes
brew doctor
# Make sure it's working without error, with an update
brew update