Homebrew ve sadece fıçı bağımlılıklarını anlayın


120

Son zamanlarda homebrew kullanmaya başladım ve sistemime bir şey hazırladığımda ne olacağı konusunda biraz kafam karıştı, ancak demlenmiş bağımlılıkları yalnızca fıçıya yöneliktir, yani bunların altında bağlantılıdır /usr/local.

Örneğin, vips (bir görüntü işleme kitaplığı) kuruyorum. Pek çok bağımlılığından biri pixman. Pixman yalnızca fıçı olarak kurulur çünkü görünüşe göre Mac OSX (bu durumda Snow Leopard) onunla birlikte (veya bir sürümü) zaten gelir.

Bu, VIP'lerin pixman'ın sistem sürümünü kullanacağı anlamına mı geliyor? Eğer öyleyse, bağımlılık sürümü yerine sistem sürümünü kullanmayla ilgili olası sürüm oluşturma sorunları yok mu (farklı olduklarını varsayarak)?

Yanıtlar:


198

Bir yazılım olabilmesi için "fıçı okunur" vasıta bunun yüklenir /usr/local/Cellarancak değil gibi yerlere bağlı /usr/local/bin, /usr/local/libvb Yani dosyaları kullanmak için özel talimatlar ile derlenmiş olması gerekir bağlıdır araçları diğer yazılım /usr/local/Cellar. Bu brew install, formül yalnızca fıçı bağımlılıkları belirlediğinde otomatik olarak yapılır .

Yalnızca fıçı bağımlılıkları belirten formüller, eşdeğer sistem kitaplıklarının kullanılmamasını sağlar. VIP kurulumunuz belirli bir pixman sürümüne bağlıdır /usr/local/Cellar/pixman/<version>, bu nedenle pixman'ın sistem sürümünden veya yükleyebileceğiniz diğer Homebrew sürümlerinden etkilenmez.


9
İyi açıklama! Başka otool -L /usr/local/Cellar/vips/???/lib/*.dylibhangi kitaplarla bağlantı kurduğunu sık sık kontrol edebilirsiniz .
Samuel John

Homebrew tarafından kurulmuş bir openssl 1.0.2'im var ve mac işletim sistemimde LibreSSL 2.6.5 var. Bunu yaptığımda openssl version, her zaman os'dan olanı (LibreSSL) gösteriyor, ancak python'umu etkileşimli modda çalıştırdığımda, aslında openssl kullanıyor. Python'un doğru openssl'yi nasıl aldığını anlamama yardım edebilir misin? @echristopherson
Alex

1
@Alex gibi echristopherson şunları söyledi: Bu , belirli bir sürümüne karşı bağlantılıdır ait openssl(yükleme sırasında). pythonBrew Formula'ya bir göz atın ; orada openssl@1.1formülün yolunun (brew ön eki) olarak kullanıldığını argve bunun için kullanıldığını görebilirsiniz configure.
einjohn
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.