भले ही स्वीकृत उत्तर में समाधान काम करता है, यह समस्या को ठीक करने का सही तरीका नहीं है। यह काढ़ा की मेटाडेटा अखंडता का उल्लंघन करता है।
संकट
मुद्दा यह है कि Homebrew के jpeg
फॉर्मूले को v9 में अपग्रेड किया गया है लेकिन मौजूदा "बोतलबंद" PHP फॉर्मूला अभी भी बना हुआ है और पिछले वर्जन v8 से जुड़ा हुआ है, जो अब आपके सिस्टम पर मौजूद नहीं है।
समस्या को ठीक करने के लिए आपके पास कुछ विकल्प हैं।
1. phpxx
स्रोत से पुनरावर्ती सूत्र (अत्यधिक अनुशंसित)
अपने php सूत्र को अनइंस्टॉल करें, और बोतलबंद संस्करण का उपयोग करने के बजाय इसे स्रोत से पुनर्निर्माण करें। इस तरह, php वर्तमान में स्थापित संस्करण के विरुद्ध उपयोग और लिंक करेगा jpeg
। यह मानते हुए कि आप के साथ काम कर रहे हैं php71
:
brew reinstall php71 --build-from-source
2. डाउनग्रेड jpeg
फॉर्मूला सही तरीके से (इसे मैन्युअल रूप से फिर से शुरू करने पर पसंद किया गया)
यदि आप नहीं भागे हैं brew cleanup
, तो आपको पहले से ही jpeg
अपने काढ़ा में पिछले संस्करण मिला है , इसे स्विच करें:
brew switch jpeg 8d
यदि आपको कोई jpeg does not have a version "8d" in the Cellar.
त्रुटि मिलती है , तो आपको पहले इतिहास को पुनः प्राप्त करके इसे पुनर्स्थापित करना होगा:
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
और प्रतिबद्ध संदेशों के माध्यम से जा सकते हैं ।
नकारात्मक पक्ष यह है कि नए फॉर्मूले को ठीक से काम करने के लिए अन्य फ़ार्मुलों की आवश्यकता हो सकती है, जैसे imagemagick
। यदि आप इस तरह की असंगति के मुद्दों का सामना करते हैं, तो पहले समाधान की जांच करें।
3. jpeg
मैन्युअल रूप से recompiling द्वारा डाउनग्रेड (अनुशंसित नहीं)
स्रोत प्राप्त करें, संकलित करें और काढ़ा के संस्करण को अधिलेखित करें। विवरण के लिए डेनिस के उत्तर का संदर्भ लें ।
यह अनुशंसित नहीं है क्योंकि यह आपके काढ़ा मेटाडेटा की अखंडता का उल्लंघन करता है। ब्रू सोचता है कि इसका 8 बी संस्करण है, हालांकि, आपने मैन्युअल रूप से 9 बी संकलित किया है और फाइलों को ओवरवोट किया है।
4. पुराने संस्करण को गंभीरता से सहानुभूति देना (गंभीरता से?)
मैन्युअल रूप से बाईं ओर सहानुभूति न रखें libjpeg.8.dylib
। यदि फ़ाइल है, तो आप brew switch
इसे ऊपर दिए गए दूसरे समाधान में बता सकते हैं।
यह सिर्फ सबसे खराब हैक है जिसे आप यहां कर सकते हैं।
इस तरह के मुद्दे आखिरकार तय किए जाएंगे ।
brew doctor
औरbrew list
?