Làm cách nào tôi có thể ngăn Homebrew cài đặt bản sao phần mềm tôi đã cài đặt thông qua các phương tiện khác?


12

Tôi thích sử dụng Homebrew để cài đặt phần mềm Unix trên máy Mac của mình và đánh giá cao rằng nó không cố cài đặt nhiều bản sao của Python. Tuy nhiên, có một số gói tôi đã cài đặt thủ công và tôi không muốn Homebrew cài đặt các bản sao của chúng.

Trong tình huống hiện tại của tôi, tôi đã cài đặt OCaml bằng trình cài đặt tiêu chuẩn. Bây giờ tôi muốn cài đặt Coq thông qua Homebrew. Tôi thấy thông qua brew deps coqđó phụ thuộc vào OCaml. Tôi biết tôi có thể bảo nó bỏ qua việc cài đặt OCaml lần này thông qua brew install --ignore-dependencies coq. Tuy nhiên, tôi không cần phải làm điều đó mỗi khi tôi cài đặt gói Homebrew yêu cầu OCaml.

Làm cách nào tôi có thể khiến Homebrew giả vờ rằng nó đã cài đặt phần mềm mà tôi đã cài đặt thông qua các phương tiện khác, để nó không cố cài đặt bản sao?

Câu trả lời:


14

Đi theo đường dẫn mà bạn đã sử dụng --prefix=trong quá trình ./configurevà liên kết sym vào Cellar/thư mục mà Homebrew đang sử dụng. Homebrew sẽ thấy các thư mục này và xem các phụ thuộc là thỏa mãn (trừ khi bạn cần biên dịch chúng có hoặc không có các tính năng nhất định để làm cho công thức của Homebrew được biên dịch chính xác). Nếu deps được biên dịch thủ công của bạn không được biên dịch chính xác, có thể bạn sẽ gặp lỗi từ Homebrew.

ln -s /path/from/prefix/ /usr/local/Cellar/path/from/prefix

(Lưu ý dấu gạch chéo trên đường dẫn thứ nhất và thiếu dấu gạch chéo ở đường dẫn thứ hai. OS X có thể được chọn lọc về các dấu gạch chéo này khi tạo liên kết tượng trưng.)

Đây là cách làm sai, bạn chỉ nên sử dụng --ignore-dependencies coq- đó là những gì nó có.


1
Câu trả lời hay về những gì đã được hỏi, nhưng cũng là một con trỏ đến cách được khuyến nghị để loại bỏ những phụ thuộc nhất định.
bmike

Đây là một giải pháp rất tốt cho tôi sau khi tôi dành hàng giờ để cài đặt các phụ thuộc cho Octave, bao gồm gcc khó hiểu (một thay thế cho clang // LLVM) ...
nyxee
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.