“Liên kết bia” làm gì?


79

Khi tôi chạy, brew doctortôi nhận được cảnh báo phổ biến:

Warning: You have unlinked kegs in your Cellar
Leaving kegs unlinked can lead to build-trouble and cause brews that depend on
those kegs to fail to run properly once built. Run `brew link` on these:
# [...]

Điều gì có nghĩa là các thùng được hủy liên kết? Và những gì brew linklàm chính xác?


Câu trả lời:


40

brew linktạo liên kết tượng trưng để cài đặt bạn đã thực hiện theo cách thủ công Cellar. Điều này cho phép bạn có thể linh hoạt để tự mình cài đặt mọi thứ nhưng vẫn có những thứ đó tham gia dưới dạng phụ thuộc vào homebrewcông thức.

Xem Câu hỏi thường gặp để biết thêm thông tin.

Bạn nên làm theo các hướng dẫn đó và chạy brew linktrên các mục mà nó liệt kê.


15
Tôi đã theo đuổi một câu trả lời cấp thấp hơn: Các liên kết tượng trưng này nằm ở đâu? Hầm rượu ở đâu? Nếu bạn làm rõ với thông tin này, tôi xin chấp nhận câu trả lời này.
mbaytas

2
Các liên kết tượng trưng có thể được xem lsnhư các liên kết bình thường. ls -lh /usr/local/bin/python=> /usr/local/bin/python -> ../Cellar/python/3.6.4_3/bin/python. Để có một tài liệu tham khảo đầy đủ về tất cả các liên kết tượng trưng mà homebrew quản lý, tôi cũng rất tò mò. Cellar chỉ đơn giản là nơi chứa tất cả các gói Homebrew. Nó ở dưới /usr/local/Cellar.
Andrea Bergonzo

25

Homebrew có thể cho phép cài đặt nhiều phiên bản của một công thức. Ví dụ, có các công thức được gọi là nodenode@10và tương tự.

$ brew info node@10
...
==> Caveats
node@10 is keg-only, which means it was not symlinked into /usr/local,
because this is an alternate version of another formula.

Nếu tôi có cả hai nodenode@10đã cài đặt, thì ở đâu nodelà v11. Tôi có thể quyết định kích hoạt phiên bản cũ hơn sau đó với brew link:

$ brew unlink node

$ brew link node@10

$ cd /urs/local/bin
$ ls -l node
lrwxr-xr-x  1 user  admin  34 12 Dec 20:07 node -> ../Cellar/node@10/10.14.1/bin/node

Tại đây, liên kết biểu tượng nodetrỏ đến phiên bản cũ hơn ( keg-only) được cài đặt trong Cellar.


brew link --force --overwrite node@10
Zhang Buzz
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.