ฉันจะป้องกันไม่ให้ Homebrew ติดตั้งซอฟต์แวร์ซ้ำที่ฉันติดตั้งด้วยวิธีการอื่นได้อย่างไร


12

ฉันชอบใช้ Homebrew สำหรับการติดตั้งซอฟต์แวร์ Unix บน Mac ของฉันและขอขอบคุณที่ไม่พยายามติดตั้งหลายสิ่งเช่น Python มีบางแพ็คเกจที่ฉันติดตั้งด้วยตนเองแล้ว แต่ฉันไม่ต้องการให้ Homebrew ติดตั้งสำเนาของตัวเอง

ในสถานการณ์ปัจจุบันของฉันฉันติดตั้ง OCaml โดยใช้ตัวติดตั้งมาตรฐาน ตอนนี้ฉันต้องการติดตั้ง Coq ผ่าน Homebrew ฉันเห็นbrew deps coqว่ามันขึ้นอยู่กับ OCaml ฉันรู้ว่าฉันสามารถบอกได้ว่ามันจะข้ามการติดตั้ง OCaml brew install --ignore-dependencies coqเวลานี้ผ่านทาง อย่างไรก็ตามฉันไม่จำเป็นต้องทำเช่นนั้นทุกครั้งที่ติดตั้งแพ็คเกจ Homebrew ที่ต้องใช้ OCaml

ฉันจะทำให้ Homebrew แกล้งทำเป็นว่าติดตั้งซอฟต์แวร์ที่ฉันติดตั้งด้วยวิธีอื่นได้อย่างไรเพื่อที่จะไม่พยายามติดตั้งสำเนาที่ซ้ำกัน

คำตอบ:


14

ใช้พา ธ ที่คุณใช้--prefix=ระหว่าง./configureและ sym-link ที่อยู่ในCellar/ไดเรกทอรีที่ Homebrew ใช้ Homebrew จะเห็นไดเรกทอรีเหล่านี้และดูการพึ่งพาตามที่พอใจ (เว้นแต่คุณจะต้องรวบรวมไว้ด้วยหรือไม่มีคุณสมบัติบางอย่างเพื่อให้สูตรของ Homebrew รวบรวมอย่างถูกต้อง) หาก deps ที่คอมไพล์ด้วยตนเองของคุณไม่ถูกคอมไพล์อย่างถูกต้องคุณอาจได้รับข้อผิดพลาดจาก Homebrew

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

(สังเกตเครื่องหมายสแลชต่อท้ายบนพา ธ แรกและขาดสแลชต่อท้ายในวินาที OS X สามารถเลือกได้เกี่ยวกับสแลชเหล่านี้เมื่อสร้าง sym-links)

นี่เป็นวิธีที่ผิดที่คุณควรจะใช้--ignore-dependencies coq- นั่นคือสิ่งที่มันมีไว้เพื่อ


1
คำตอบที่ดีของสิ่งที่ถูกถาม แต่ยังเป็นตัวชี้ไปยังวิธีที่แนะนำเพื่อระงับการอ้างอิงบางอย่าง
bmike

นี่เป็นทางออกที่ดีมากสำหรับฉันหลังจากที่ฉันใช้เวลาหลายชั่วโมงในการติดตั้งการพึ่งพาของ Octave ซึ่งรวมถึง elussive gcc (ทางเลือกสำหรับ clang // LLVM) ...
nyxee
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.