2012-07-12 21 views
18

मैक ओएस एक्स 10.8 माउंटेन शेर का ताजा इंस्टॉल करने के बाद, और रूबी 1.9.3 और रूबी 3.2.6 पर रूबी स्थापित करने के बाद, मैं रेल सांत्वना शुरू किया और मैं इस चेतावनी संदेश मिला:चेतावनी: Nokogiri LibXML संस्करण 2.7.3 के खिलाफ बनाया गया था, लेकिन गतिशील रूप से लोड किया गया है 2.7.8

चेतावनी: Nokogiri LibXML संस्करण 2.7.3 के खिलाफ बनाया गया था, लेकिन गतिशील रूप से लोड हो जाने 2.7.8

मैं इसे कैसे ठीक कर सकते हैं?

+0

यह उत्तर है: [http://stackoverflow.com/questions/16921700/how-to-load-correct-version-of- गतिशील- पुस्तकालय-and-gems-libxml-nokogiri-wit][1] [1]: http://stackoverflow.com/questions/16921700/how-to-load-correct-version-of-dynamic-libraries-and-gems-libxml-nokogiri-wit –

उत्तर

13

मुझे शेर के लिए कुछ फिक्स मिल गए हैं, लेकिन अभी तक माउंटेन शेर के लिए कोई भी नहीं है। फिर भी मैं इस की कोशिश की है और यह काम करता है:

gem uninstall nokogiri libxml-ruby 

brew update 
brew uninstall libxml2 
brew install libxml2 --with-xml2-config 
brew link libxml2 

brew install libxslt 
brew link libxslt 

gem install nokogiri -- --with-xml2-include=/usr/local/Cellar/libxml2/2.8.0/include/libxml2/ --with-xml2-lib=/usr/local/Cellar/libxml2/2.8.0/lib/ --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.26/ 

स्रोत (शेर के लिए): https://gist.github.com/1349681

+0

यह शायद काम करता है, हालांकि एक रेल/आरवीएम पर्यावरण के लिए, @ क्यूबे का जवाब शायद अधिक सामान्य है। –

+0

यह निर्भर करता है। ऐसे समय होते हैं जहां @ क्यूबे का जवाब काम नहीं करता है, खासकर पुराने रूबी इंस्टॉलेशन वाले सिस्टम पर। नए स्थापित ओएस एक्स पर AFAIK कोई समस्या नहीं है। –

+0

हाय दोस्तों, योसामेट के लिए यह wokr ???? – olleh

13

मैं रूबी पुनर्स्थापित, कि यह तय हो गई। अंतर्निर्मित पुस्तकालयों का उपयोग करने में सक्षम था।

+2

यह वास्तव में जाने का रास्ता है। बस रूबी पुनः स्थापित करें और फिर आपको एक कस्टम संकलित libxml का उपयोग करने की जटिलताओं के बारे में चिंता करने की ज़रूरत नहीं है। – kjg

+3

सरल: 'आरवीएम अनइंस्टॉल 1.9.3-पी 1 9 4'। फिर 'आरवीएम 1.9.3' स्थापित करें। सभी पिछले रत्न बने रहते हैं। 'मणि nokogiri स्थापित करें'। काम करता है! – Meltemi

+0

मुझे रूबी 1.9.3 फिर से स्थापित करने के लिए एक्सकोड और कमांड लाइन टूल्स इंस्टॉल करना पड़ा (ब्रू के सेब-जीसीसी 42 के साथ भी मेरे लिए काम नहीं किया)।एक्सकोड सीएलआई प्राथमिकताओं का उपयोग करके स्थापित किया जा सकता है -> डाउनलोड करें -> घटक – danigb

13
gem uninstall nokogiri 
bundle install 
यहां तक ​​कि बेहतर

:

gem pristine nokogiri 

नोट:

यह बार-बार के रूप में आप अपने सिस्टम का उन्नयन और पुस्तकालयों को बदल नहीं होगा।

+1

यह मेरे लिए माउंटेन शेर (10.8.2) में काम किया। बंडल इंस्टॉल ने डाउनलोड किया गया libxml का उपयोग कर, nokogiri फिर से डाउनलोड किया और इसे recompiled। –

+0

पुष्टि करें कि यह मेरे लिए माउंटेन शेर 10.8.2 – nXqd

+0

में काम करता है मैंने इसे दो बार उपयोग किया है: "मणि प्रिस्टिन नोकोगिरी" –

0

@ डेविड से उत्तर के आधार पर निम्नलिखित कदम मेरे लिए पर्याप्त थे। कोई कंपाइलर झंडे और कस्टम पथ नहीं।

gem uninstall nokogiri 

brew update 
brew install libxml2 
brew update libxml2 
brew link libxml2 

gem install nokogiri 
4

ध्यान दें कि @Davids पोस्ट में के रूप में जोड़ने के लिए अपने ओएस में अपने निर्माण उपकरण और लिंक के साथ हस्तक्षेप करेगा (जो सबसे अधिक संभावना आप काढ़ा उपयोग कर रहे हैं कि तुम क्या नहीं करना चाहता है), लेकिन तुम सिर्फ हर कमांड निष्पादित कर सकते हैं को छोड़कर ऊपर जैसे, छोड़ देते हैं 'काढ़ा लिंक' लाइनों और सब कुछ अभी भी ठीक निर्माण करेगा:

gem uninstall nokogiri libxml-ruby 
brew update 
brew uninstall libxml2 
brew install libxml2 --with-xml2-config 
brew install libxslt 

gem install nokogiri -- --with-xml2-include=/usr/local/Cellar/libxml2/2.8.0/include/libxml2/ --with-xml2-lib=/usr/local/Cellar/libxml2/2.8.0/lib/ --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.26/ 
+1

यह SO पर एक आम सवाल है, लेकिन यह वह जवाब है जो इसे मेरे लिए तय करता है। इस कोशिश करने वाले किसी और को ध्यान रखना चाहिए कि संस्करण बदल गए हैं, इसलिए उस अंतिम पंक्ति को कॉपी/पेस्ट न करें। 'मणि स्थापित nokogiri - --with-xml2- शामिल =/usr/स्थानीय/सेलर/libxml2/[संस्करण]/शामिल/libxml2/--with-xml2-lib =/usr/स्थानीय/सेलर/libxml2/[संस्करण ]/lib/--with-xslt-dir =/usr/स्थानीय/सेलर/libxslt/[संस्करण]/' –

3

gem 'pg' ऊपर gem 'nokogiri' लाना मेरी Gemfile मेरे लिए यह तय हो गई।

मेरी जेमफाइल में इसमें नोकोगिरी नहीं थी, लेकिन यह एक निर्भरता थी जो Gemfile.lock में थी, इसलिए मैंने इसे अपने जेमफाइल में स्पष्ट रूप से रखा।

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^