Bagaimana saya bisa mencegah Homebrew menginstal duplikat perangkat lunak yang saya instal melalui cara lain?


12

Saya suka menggunakan Homebrew untuk menginstal perangkat lunak Unix di Mac saya, dan menghargai itu tidak mencoba untuk menginstal banyak salinan hal-hal seperti Python. Ada beberapa paket yang sudah saya instal secara manual, dan saya tidak ingin Homebrew menginstalnya sendiri.

Dalam situasi saya saat ini, saya menginstal OCaml menggunakan installer standar. Sekarang saya ingin menginstal Coq via Homebrew. Saya melihat melalui brew deps coqitu tergantung pada OCaml. Saya tahu saya bisa mengatakannya untuk melewatkan menginstal OCaml kali ini melalui brew install --ignore-dependencies coq. Namun, saya lebih suka tidak harus melakukan itu setiap kali saya menginstal paket Homebrew yang membutuhkan OCaml.

Bagaimana saya bisa membuat Homebrew berpura-pura menginstal perangkat lunak yang saya instal melalui cara lain, sehingga tidak mencoba menginstal salinan duplikat?

Jawaban:


14

Ambil jalur yang Anda gunakan --prefix=selama Anda ./configuredan sym-link yang ke Cellar/direktori yang digunakan Homebrew. Homebrew akan melihat direktori ini dan melihat dependensi terpenuhi (kecuali jika Anda perlu mengkompilasinya dengan atau tanpa fitur tertentu untuk membuat formula Homebrew dikompilasi dengan benar). Jika deps yang Anda buat secara manual tidak dikompilasi dengan benar, Anda mungkin akan mendapatkan kesalahan dari Homebrew.

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

(Catat trailing slash pada path pertama, dan ketiadaan traash slash pada path kedua. OS X bisa pilih-pilih tentang slash ini saat membuat sym-links.)

Ini adalah cara yang salah untuk melakukannya, Anda hanya harus menggunakan --ignore-dependencies coq- itulah gunanya.


1
Jawaban yang bagus dari apa yang diminta, tetapi juga petunjuk cara yang disarankan untuk menekan dependensi tertentu.
bmike

Ini adalah solusi yang sangat baik bagi saya setelah saya menghabiskan berjam-jam menginstal dependensi untuk Oktaf yang termasuk gcc yang sulit dipahami (alternatif untuk dentang // LLVM) ...
nyxee
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.