Kabul edilen cevaptaki çözüm işe yarasa da sorunu çözmenin doğru yolu bu değildir. Brew'ün meta veri bütünlüğünü ihlal ediyor.
Sorun
Sorun, Homebrew'in jpeg
formülünün v9'a yükseltilmiş olması, ancak mevcut "şişelenmiş" PHP formülünün hala oluşturulup sisteminizde artık bulunmayan önceki sürüm olan v8 ile bağlantılı olmasıdır.
Sorunu çözmek için birkaç seçeneğiniz var.
1. phpxx
Formülü kaynaktan yeniden derleyin (kesinlikle önerilir)
Php formülünüzü kaldırın ve şişelenmiş sürümü kullanmak yerine kaynaktan yeniden oluşturun. Bu şekilde, php şu anda kurulu olan sürümünü kullanacak ve ona bağlanacaktır jpeg
. Başa çıktığınızı varsayarsak php71
:
brew reinstall php71 --build-from-source
2. jpeg
Formülü doğru şekilde düşürün (manuel olarak yeniden derlemek yerine tercih edilir)
Eğer çalıştırmadıysanız brew cleanup
, zaten önceki got jpeg
kendisine senin demlemek mahzeninde sürümü anahtarı:
brew switch jpeg 8d
Bir jpeg does not have a version "8d" in the Cellar.
hata alırsanız, önce geçmişi geri alarak onu geri yüklemeniz gerekir:
cd $(brew --prefix)/Homebrew/Library/Taps/homebrew/homebrew-core
git checkout b231469
HOMEBREW_NO_AUTO_UPDATE=1 brew install jpeg
git checkout master
brew switch jpeg 8d
brew log jpeg
Commit mesajlarını kullanarak ve bunlardan geçerek commit hashini öğrenebilirsiniz .
Olumsuz yanı, daha yeni sürümün düzgün çalışmasını gerektiren başka formüllerin olabilmesidir, örn imagemagick
. Bu tür uyumsuzluk sorunlarıyla karşılaşırsanız, yukarıdaki ilk çözüme bakın.
3. jpeg
Manuel olarak yeniden derleyerek eski sürüme geçin (önerilmez)
Kaynağı getirin, derleyin ve brew versiyonunun üzerine yazın. Ayrıntılar için Denis'in cevabına bakın.
Demleme meta verilerinizin bütünlüğünü ihlal ettiği için bu önerilmez. Brew, 8b sürümüne sahip olduğunu düşünüyor, ancak siz 9b'yi manuel olarak derlediniz ve dosyaların üzerine yazdınız.
4. Eski sürümü manuel olarak sembolik bağla (ciddi mi?)
Yapmayın elle sembolik bir link tamamını kullanmadığı libjpeg.8.dylib
. Dosya oradaysa, brew switch
yukarıdaki ikinci çözümde belirtildiği gibi yapabilirsiniz.
Burada yapabileceğiniz en kötü hack.
Bu tür sorunlar sonunda çözülecektir .
brew doctor
vebrew list
?