2011-01-14 34 views
48

Hôm nay tôi cài đặt công thức curl qua homebrew, nhưng sau khi cài đặt nó (và tái nguồn vỏ) tôi nhận thấy rằng:Keg chỉ công thức homebrew

% which curl 
/usr/bin/curl 

như một vấn đề của thực tế, đầu ra của brew install curl đã tuyên bố rằng đó là công thức keg chỉ và rằng kể từ curl đã có trong OS X, nó không liên kết nó với tiền tố Homebrew, vì điều đó có thể gây ra các sự cố không xác định.

Sau đó, nó tiền thu được chỉ ra rằng

Nói chung không có hậu quả của việc này cho bạn

Tôi muốn biết:

  • gì cả các loại của các vấn đề một cách chính xác?
  • Mục đích của việc cài đặt công thức keg-only qua Homebrew là gì? Làm thế nào có thể không có hậu quả nếu công cụ mới được cài đặt không có trong số PATH?
+0

Tôi tìm thấy từ ngữ của "Nói chung không có hậu quả của việc này cho bạn" báo trước rất khó hiểu, đặc biệt đề cập đến 'LDFLAGS' và' CPPFLAGS'. Đã cho tôi một thời gian để nhận ra nó được in cho tất cả các công thức keg-only. Đoạn ngắt đoạn không làm rõ thông điệp liên quan đến điều gì. – duozmo

Trả lời

55
  • vấn đề: nếu một ứng dụng homebrew được đặt trong đường dẫn ở phía trước của phiên bản OS X mặc định của nhau, thực sự bất cứ điều gì có thể xảy ra. Các vấn đề phổ biến nhất là do sự khác biệt giữa tập hợp các tùy chọn dòng lệnh có sẵn trong hai phiên bản hoặc sự khác biệt về ý nghĩa của các tùy chọn. Đối với curl hậu quả có thể không được như vậy xấu, nhưng đối với các ứng dụng khác bạn có thể, lúc tồi tệ nhất, phá vỡ hệ điều hành.
  • Keg chỉ: bây giờ bạn có hai phiên bản curl! HĐH mặc định X và homebrew. Nếu bạn muốn sử dụng các tính năng không có trong mặc định nhưng trong homebrew, bạn có thể làm như vậy bằng cách gọi curl homebrew một cách rõ ràng. Con đường chính xác phụ thuộc vào cách bạn đã thiết lập homebrew. Bởi vì phiên bản mới được cài đặt không có trong đường dẫn, nên nó không gây ra vấn đề gì trừ khi nó được gọi một cách rõ ràng.
+5

Cũng có thể gặp sự cố nếu chúng được liên kết động và phiên bản mới hơn - phiên bản mới hơn .so có thể được liên kết với mức độ ưu tiên cao hơn cũ hơn và phá vỡ phiên bản cũ hơn, đặc biệt nếu chúng là các phiên bản khác nhau. –

+0

@Marc - một điểm tốt! –

+2

Git đã được cài đặt trên Mac OS X 10.8, nhưng công thức Git Homebrew không phải là keg-only, tức là, nó đặt 'git'" trong đường dẫn ở phía trước của phiên bản OS X mặc định. " Ổn chứ? – ma11hew28

Các vấn đề liên quan