Tôi đã cố sửa lỗi cài đặt Homebrew cho nhiều người dùng và tìm thấy hướng dẫn trên strug.de (http://blog.strug.de/2012/06/my-homebrew-multi-user-setup/), nhằm giải quyết chính xác vấn đề này.Thiết lập nhiều người dùng Homebrew
Tôi tạo ra một nhóm brew
người dùng, thêm cả người dùng của tôi trong nhóm đó và chạy này để điều chỉnh các điều khoản:
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
Giả sử tôi đã làm điều này trong khi đăng nhập vào tài khoản người dùng Một. Vài ngày sau, tôi đăng nhập vào tài khoản người dùng B và thử cài đặt Dropbox qua Cask. Điều đó hoạt động giống như một sự quyến rũ, vì chúng tôi đã sửa các quyền trước đó nên nhóm bia cũng được phép viết trong các thư mục đó.
Bây giờ một vài ngày sau, tôi đã đăng nhập lại vào tài khoản A và muốn loại bỏ Dropbox. Tôi chạy lệnh sau nhưng bị mắc kẹt với các lỗi cho phép:
$ 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'
[...]
Để sửa lỗi này cho người sử dụng B, tôi phải chạy chgrp
's và chmod
' s (như đã nêu ở trên) một lần nữa. Tuy nhiên cách giải quyết này không thực sự được đánh giá cao, vì tôi không muốn "ngẫu nhiên" chạy tất cả các lệnh bất cứ khi nào tôi chuyển đổi qua lại giữa các tài khoản người dùng của mình.
Có bất kỳ điều gì tôi thiếu hoặc tôi đã sai khi ghi vào hướng dẫn không?
Tôi không chắc tác giả của hướng dẫn đã giải quyết vấn đề này như thế nào.
Chỉ cần tìm thấy [brewdo] (https://www.zigg.com/code/brewdo/) - một sự kết hợp của sudo và brew . Tuy nhiên nó là quá "hacky" cho ý thích của tôi. Tôi sử dụng [bork] (https://github.com/mattly/bork) (một DSL gọn gàng), để quản lý công thức sản xuất bia của tôi và không may brewdo cũng không được hỗ trợ. – frdmn