2015-02-17 30 views
10

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.

+1

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

Trả lời

3

Tôi biết câu hỏi này hơi cũ, nhưng câu trả lời của tôi có thể giúp những người khác đến đây tìm kiếm trợ giúp.

gì đã giúp tôi vượt qua vấn đề này, homebrew-thùng cho nhiều người dùng, được thiết lập quyền truy cập cho thư mục Caskroom cũng như:

sudo chgrp -R brew /opt/homebrew-cask/Caskroom 
sudo chmod -R g+w /opt/homebrew-cask/Caskroom 

Sau đó brew cask install dropbox chỉ làm việc tốt.

+0

Điều này dường như làm việc cho tôi, nhưng thực hiện 'brew update' tôi chỉ dường như có thể làm bởi chủ sở hữu vì một lý do nào đó. Có suy nghĩ gì không? – timhc22

+1

Ngoài ra, có thể đáng để thêm bản cập nhật cho câu trả lời này bởi vì họ đã thay đổi các thư mục thành/usr/local now – timhc22

0

Ngoài câu trả lời Gregorio, tôi thấy tôi cũng phải:

sudo chgrp -R brew /usr/local/Cellar 
sudo chmod -R g+w /usr/local/Cellar 
Các vấn đề liên quan