ทำความเข้าใจเกี่ยวกับการอ้างอิง homebrew และ keg เท่านั้น


121

ผมได้เริ่มต้นเมื่อเร็ว ๆ นี้โดยใช้ Homebrew และฉันบิตสับสนว่าสิ่งที่เกิดขึ้นเมื่อฉันชงบางสิ่งบางอย่างเข้าสู่ระบบของฉัน /usr/localแต่อ้างอิงต้มที่มีถังเท่านั้นหมายความว่าพวกเขามีการเชื่อมโยงภายใต้

ตัวอย่างเช่นฉันติดตั้ง vips (ไลบรารีการประมวลผลภาพ) หนึ่งในหลาย ๆ การพึ่งพาคือพิกแมน Pixman ได้รับการติดตั้งเป็นถังเท่านั้นเนื่องจากเห็นได้ชัดว่า Mac OSX (Snow Leopard ในกรณีนี้) มาพร้อมกับมันแล้ว (หรือเวอร์ชันหนึ่ง)

นี่หมายความว่า vips จะใช้ pixman เวอร์ชันระบบหรือไม่? ถ้าเป็นเช่นนั้นไม่มีปัญหาในการกำหนดเวอร์ชันที่อาจเกี่ยวข้องกับการใช้เวอร์ชันของระบบแทนที่จะเป็นเวอร์ชันอ้างอิง (สมมติว่าแตกต่างกัน)

คำตอบ:


198

สำหรับซอฟแวร์จะเป็น "ถังเท่านั้น" หมายถึงมีการติดตั้งใน/usr/local/Cellarแต่ไม่เชื่อมโยงเข้าไปในสถานที่เช่น/usr/local/bin, /usr/local/libฯลฯ นั่นหมายถึงซอฟต์แวร์อื่น ๆ /usr/local/Cellarที่ขึ้นอยู่กับมันจะต้องมีการรวบรวมพร้อมด้วยคำแนะนำในการใช้ไฟล์ใน ซึ่งทำได้โดยอัตโนมัติbrew installเมื่อสูตรระบุการอ้างอิงเฉพาะถัง

สูตรที่ระบุการอ้างอิงเฉพาะ Keg เท่านั้นตรวจสอบให้แน่ใจว่าไม่ได้ใช้ไลบรารีระบบที่เทียบเท่ากัน การติดตั้ง vips ของคุณเชื่อมโยงกับ pixman เวอร์ชันเฉพาะ/usr/local/Cellar/pixman/<version>ดังนั้นจึงไม่ได้รับผลกระทบจาก pixman เวอร์ชันระบบหรือ Pixman เวอร์ชัน Homebrew อื่น ๆ ที่คุณอาจติดตั้ง


9
คำอธิบายที่ดี! คุณสามารถตรวจสอบได้บ่อยครั้งotool -L /usr/local/Cellar/vips/???/lib/*.dylibเพื่อดูว่า libs อื่น ๆ ลิงก์ใด
Samuel John

ฉันมี openssl 1.0.2s ที่ติดตั้งโดย homebrew และ mac os ของฉันมี LibreSSL 2.6.5 เมื่อฉันทำopenssl versionมันจะแสดงรายการจากระบบปฏิบัติการ (LibreSSL) เสมอ แต่เมื่อฉันเรียกใช้ python ในโหมดโต้ตอบมันใช้ openssl จริงๆ คุณช่วยฉันเข้าใจได้ไหมว่า python หยิบ openssl ที่ถูกต้องได้อย่างไร @echristopherson
Alex

1
@ Alex Like echristopherson กล่าวว่า: มีการเชื่อมโยงกับเวอร์ชันเฉพาะของopenssl(ระหว่างการติดตั้ง) มีลักษณะที่เป็นpythonสูตรเบียร์ ; มีคุณสามารถเห็นได้ว่าเส้นทาง (คำนำหน้าชงของ) ของopenssl@1.1สูตรที่ใช้เป็นซึ่งจะใช้สำหรับarg configure
einjohn
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.