Homebrew sẽ không liên kết git


11

Khi tôi cài đặt git hoặc nâng cấp git qua brewtôi không thể liên kết nó với brew link git. Nếu tôi thử sudo brew link gittôi nhận được:

hèn nhát từ chối liên kết sudo brew

Nó nói rằng tôi phải kiểm tra các quyền trên:

/usr/local/share/gitk/lib
/usr/local/share/git-gui/lib
/usr/local/share/git-core/templates
/usr/local/share/git-core/templates/hooks
/usr/local/share/git-core

Tôi chỉnh sửa chmodmọi thứ thành 777 nhưng tôi không chắc nó có tốt không.

Bây giờ tôi có thể liên kết git. Tôi có nên thay đổi sự cho phép thành một cái gì đó ít cho phép?

Câu trả lời:


5

777 quyền không nhất thiết xấu ở đây - có lẽ bạn sẽ không bao giờ gặp phải vấn đề về quyền và đó không phải là vấn đề bảo mật lớn.

Dù sao, các quyền "bình thường" trên /usr/local/shareHomebrew yêu cầu phải là (đệ quy) 755, do đó rwxr-xr-x.

chmod -R 755 /usr/local/share

Ít nhất brewkhông nên cần quyền sudo để làm bất cứ điều gì trong đó. Chỉ /usr/localđược sở hữu bởi root, nhưng có thể ghi cho staffnhóm, trong đó người dùng của bạn nên ở trong đó.

Để sửa các cài đặt Homebrew hiện có, hãy xem ý chính này , đây là tập lệnh sẽ cố gắng sửa các /usr/localquyền của bạn .


Ví dụ, đây là danh sách thư mục của một trong những cài đặt Homebrew (lành mạnh) của tôi với ghostscriptngoại lệ duy nhất cần có sudo brew link:

aeneas:local werner$ ls -la /usr/local/share/
total 40
drwxr-xr-x  11 werner  staff  374 Mar  5 14:53 .
drwxrwxr-x  14 werner  staff  476 Feb 28 12:51 ..
drwxr-xr-x   6 werner  staff  204 Mar  5 14:54 aclocal
drwxr-xr-x   8 werner  staff  272 Mar  5 14:53 doc
lrwxr-xr-x   1 werner  staff   34 Feb  8 12:26 ffmpeg -> ../Cellar/ffmpeg/0.10/share/ffmpeg
drwxr-xr-x   4 werner  wheel  136 Apr 16  2010 ghostscript
lrwxr-xr-x   1 werner  staff   36 Mar  5 14:53 git-core -> ../Cellar/git/1.7.9.2/share/git-core
lrwxr-xr-x   1 werner  staff   35 Mar  5 14:53 git-gui -> ../Cellar/git/1.7.9.2/share/git-gui
lrwxr-xr-x   1 werner  staff   32 Mar  5 14:53 gitk -> ../Cellar/git/1.7.9.2/share/gitk
lrwxr-xr-x   1 werner  staff   34 Mar  5 14:53 gitweb -> ../Cellar/git/1.7.9.2/share/gitweb
drwxr-xr-x   9 werner  staff  306 Mar  5 14:53 man

Để biết thêm các bước chẩn đoán, hãy chạy brew doctor.
slhck

Thật không may, bác sĩ bia không cung cấp bất kỳ thông tin hữu ích trong trường hợp này. Ý chính được đề cập đã khắc phục một vấn đề tương tự đối với tôi, cảm ơn :)
TheDeadSerious

một khi tôi đã cài đặt brew, tôi không cần sử dụng sudo cho bất cứ điều gì. Có lẽ bạn đã có một cái gì đó mà bạn không nên có vào một lúc nào đó có quyền và quyền sở hữu từ đòn đánh?
dstarh

@dstarh Đó thường là vấn đề. Ngày nay, Homebrew không nên làm gì khi sudođược sử dụng.
slhck

Tại sao Homebrew không cho phép chúng tôi sử dụng sudo? Chúng tôi tiếp tục phải lộn xộn với các quyền của mình để liên kết mọi thứ khi cần để chúng tôi sudo brew link [package]thích apt-get. Tôi chỉ sao chép các thư viện từ hầm rượu mỗi lần tôi muốn cập nhật một cái gì đó thay vì cố gắng giải quyết việc này.
sudo

0

Tôi chưa thử ý chính, nhưng đã thử chmod 775vào thư mục. Vì nó thuộc sở hữu của root:wheelnó không thể thay đổi. Tôi đã tham khảo một trang web của Nhật Bản.

sudo chown yourusername:admin -R /usr/local/share/ghostscript
brew link ghostscript
brew doctor

sau đó nó làm việc cho tôi ở trên.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.