Mac पर Brew के माध्यम से Node स्थापित करने के बाद libicui18n.62.dylib के साथ dyld त्रुटि को कैसे ठीक करें

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

परिचय: प्रत्येक Mac डेवलपर का परिचित दर्द

\n\n

आपने Homebrew के माध्यम से Node.js को अपडेट किया, अपनी पसंदीदा PHP स्क्रिप्ट चलाई — और अचानक आपको यह मन को झकझोर देने वाला संदेश दिखाई देता है:

\n\n
dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.62.dylib\n  Referenced from: /usr/local/bin/php\n  Reason: image not found
\n\n

शांत रहें, बस शांत रहें! यदि आप इस पृष्ठ पर आए हैं, तो इसका मतलब है कि आप इस त्रुटि का सामना करने वाले पहले या अंतिम डेवलपर नहीं हैं। Stack Overflow पर इस प्रश्न को हजारों बार देखा गया है, और यह उचित भी है: समस्या Homebrew के माध्यम से Node.js स्थापित या अपडेट करने के बाद ICU4C (International Components for Unicode for C) लाइब्रेरी के संस्करणों के टकराव के कारण उत्पन्न होती है।

\n\n

इस ट्यूटोरियल में, मैं आपको त्रुटि को ठीक करने के तीन कार्यशील तरीके दिखाऊंगा, इसके मूल कारण की व्याख्या करूंगा, और उपयोगी सुझाव दूंगा ताकि आप यह संदेश फिर कभी न देखें। चलिए शुरू करते हैं!

\n\n

dyld: Library not loaded त्रुटि क्यों होती है?

\n\n

इसे ठीक करने में कूदने से पहले, आइए कारणों को समझें। इससे आपको macOS और Homebrew के पारिस्थितिकी तंत्र को बेहतर ढंग से समझने में मदद मिलेगी।

\n\n

ICU4C क्या है और इसमें PHP का क्या संबंध है?

\n\n

ICU4C यूनिकोड, अंतर्राष्ट्रीयकरण और स्थानीयकरण के समर्थन के लिए एक लाइब्रेरी है। PHP इसका उपयोग mb_convert_encoding(), intl एक्सटेंशन और अन्य जैसे कार्यों के लिए करता है। Homebrew कई पैकेजों के लिए एक निर्भरता के रूप में ICU4C स्थापित करता है, जिसमें PHP और Node.js शामिल हैं।

\n\n

त्रुटि की ओर ले जाने वाली घटनाओं की श्रृंखला

\n\n
    \n
  1. आप brew install node या brew upgrade node के माध्यम से Node.js स्थापित या अपडेट करते हैं।
  2. \n
  3. Node.js को ICU4C के एक विशिष्ट संस्करण (जैसे, 62.x) की आवश्यकता होती है।
  4. \n
  5. Homebrew ICU4C को एक नए संस्करण (जैसे, 63.x या 64.x) में अपडेट करता है।
  6. \n
  7. पुरानी लाइब्रेरी libicui18n.62.dylib हटा दी जाती है।
  8. \n
  9. PHP, जो संस्करण 62 के साथ संकलित किया गया था, आवश्यक लाइब्रेरी नहीं ढूंढ पाता — और त्रुटि के साथ क्रैश हो जाता है।
  10. \n
\n\n

सीधे शब्दों में कहें तो: PHP "अतीत" में रह गया, जबकि लाइब्रेरीज़ पहले से ही "भविष्य" में हैं।

\n\n

विधि 1: त्वरित समाधान — ICU4C को पुनः लिंक करना (शुरुआती लोगों के लिए अनुशंसित)

\n\n

यह सबसे सरल और तेज़ तरीका है, जो 90% मामलों में समस्या का समाधान करता है।

\n\n

चरण 1: ICU4C का वर्तमान संस्करण जांचें

\n\n

टर्मिनल खोलें और निष्पादित करें:

\n\n
brew list --versions icu4c
\n\n

आपको कुछ इस तरह दिखाई देगा icu4c 63.1 या 64.2। संस्करण याद रखें — यह काम आएगा।

\n\n

चरण 2: ICU4C को PHP से पुनः लिंक करें

\n\n

पुनः लिंक करने के लिए कमांड निष्पादित करें:

\n\n
brew link --force icu4c
\n\n

यदि आपको कोई चेतावनी दिखती है कि संस्करण मेल नहीं खाते — तो घबराएं नहीं। यह सामान्य है। फिर PHP को पुनरारंभ करें:

\n\n
which php\nphp -v
\n\n

यदि त्रुटि गायब हो गई है — तो आपने अच्छा किया! यदि नहीं — तो अगली विधि पर जाएं।

\n\n

चरण 3: वैकल्पिक विकल्प — बलपूर्वक पुनः लिंक करना

\n\n

यदि उपरोक्त कमांड काम नहीं करता है, तो प्रयास करें:

\n\n
brew reinstall icu4c\nbrew link --overwrite icu4c
\n\n

यह लाइब्रेरी को पुनः स्थापित करेगा और सभी लिंक को अपडेट करेगा।

\n\n

विधि 2: Homebrew के माध्यम से PHP को पुनः स्थापित करना (उन लोगों के लिए जो सफाई पसंद करते हैं)

\n\n

यदि पुनः लिंक करने से मदद नहीं मिली — तो इसका मतलब है कि आपका PHP ICU4C के पुराने संस्करण के लिए "सिला" गया है। सबसे अच्छा समाधान PHP को पुनः स्थापित करना है।

\n\n

चरण 1: PHP के वर्तमान संस्करण को हटाएं

\n\n
brew uninstall php
\n\n

यदि आपके पास PHP के कई संस्करण हैं (जैसे, 7.4 और 8.0), तो सभी को हटा दें:

\n\n
brew uninstall php@7.4 php@8.0
\n\n

चरण 2: Homebrew कैश साफ़ करें

\n\n
brew cleanup
\n\n

चरण 3: PHP को फिर से स्थापित करें

\n\n
brew install php
\n\n

या, यदि आपको कोई विशिष्ट संस्करण चाहिए:

\n\n
brew install php@8.1
\n\n

चरण 4: कार्यक्षमता जांचें

\n\n

जांचने के लिए एक सरल PHP स्क्रिप्ट लिखें:<

ब्लॉग

पुस्तक अनुशंसाएँ