=== টিএলডিআর ===
হিসাবে নির্দেশাবলী রাষ্ট্র, সর্বশেষ ঝনঝন কম্পাইলার দিয়ে বিল্ড রুবি, বা অন্তত একই সংস্করণ যা Rubygems কম্পাইল করার ব্যবহার করবে Nokogiri এর নেটিভ এক্সটেনশান libxml এবং libxsl।
আরভিএম ব্যবহার করে, --with-ggc=clang
পতাকাটি দিয়ে উত্স থেকে বিল্ডিং করা আমার পক্ষে এটি কী হয়েছিল:
rvm install 2.2 --with-gcc=clang
2.2
আপনি যে সংস্করণটি চান তা দিয়ে প্রতিস্থাপন করুন । --with-gcc=clang
আরভিএম উত্স থেকে বিল্ডগুলি নিশ্চিত করে এবং তা করতে ঝনঝন ব্যবহার করে; অন্যথায় আরভিএম একটি প্রাক-নির্মিত বাইনারি রুবি হতে পারে, যা আমাকে ট্রিপ করেছে।
তারপরে, বন্ডলার বা রুবিজেম ব্যবহার করে নোকোগিরি স্বাভাবিক হিসাবে ইনস্টল করুন।
=== ডিপথে ===
আমি কিছুক্ষন এটির সাথে লড়াই করেছি। gem install nokogiri
আমাকে দিলো:
checking for xmlParseDoc() in libxml/parser.h... no
checking for xmlParseDoc() in -lxml2... no
checking for xmlParseDoc() in -llibxml2... no
খনন করে mkmf.log
দেখলাম:
conftest.c:15:27: error: too few arguments to function call, single argument 'cur' was not specified
int t(void) { xmlParseDoc(); return 0; }
নোকোগিরি তার নিজস্ব libxML এবং libxsl সরবরাহ করে (1.6.4 হিসাবে)। নোকোগিরির পার্সার.একের স্থানীয় অনুলিপি (রত্ন ইনস্টল ডিরেক্টরিতে পাওয়া যায়) এর মধ্যে স্বাক্ষরটি হ'ল:
xmlParseDoc (const xmlChar *cur);
সুতরাং আমি কীভাবে ক্ষতিগ্রস্থ হয়ে পড়েছিলাম যে কীভাবে হারমেটিকালি সিল করা কনফেস্টে। ফাইলের পদ্ধতি পদ্ধতি কলটি পার্সার। H এর জন্য শিরোনাম ফাইলের সাথে মেলে না।
যখন আমি বুঝতে পারি আমি সম্ভবত একটি বাইনারি রুবি ইনস্টল করেছি আমি মুছে ফেলা এবং পুনরায় ইনস্টল করে --with-gcc=clang
(সংকলন জোর করতে এবং ঝনঝন ব্যবহার করতে) এবং সমস্যাটি সমাধান করা হয়েছে:
rvm uninstall 2.2
rvm install 2.2 --with-gcc=clang
gem install nokogiri
আমি ঠিক নিশ্চিত নই কেন এটি সিস্টেম লাইবএক্সএমএল শিরোনাম /usr/include/libxml2/libxml/parser.h
হিসাবে নোকোগিরির স্থানীয় অনুলির মতো একই স্বাক্ষর হিসাবে কাজ করে।
এটি অদ্ভুত, কিন্তু এটি কাজ করে। আপনি নিশ্চিত হন যে আপনি কোনও রুবিকে ঝনঝন করে সংকলন করেছেন।