2011-03-30 11 views
6

मैं आरवीएम के अंदर पहली बार रेल 3 का उपयोग कर रहा हूं (मैं वर्षों से रेल 2 का उपयोग कर रहा हूं)।रेल 3 और रीडलाइन समस्या

require': no such file to load -- readline

मैं आसपास googled है और यह एक आम समस्या है: कंसोल शुरू करने के लिए कोशिश कर रहा है, मैं इस त्रुटि मिलती है। ReadLine sudo apt-get install libncurses5-dev libreadline5-dev 2) ReadLine के लिए मणि फ़ोल्डर में जा रहा है, जो एक ruby extconf.rb makefile 3 उत्पन्न करता है) चल रहा make और make install

कर अब, मैं नहीं था में स्थापित: अधिकांश समाधान 1 शामिल करने के लिए) के बाद से स्थापित करने लगते हैं मेरे आरवीएम, तो मैंने इसे स्थापित करने की कोशिश की। लेकिन मणि क्या काम नहीं कर सका: gem install readline कोई परिणाम नहीं देता है। मुझे मिला केवल एक ही gem install rdp-rb-readline था। मैंने दो देव पुस्तकालयों को स्थापित किया, rdp-rb-readline मणि स्थापित किया, बाद के मणि फ़ोल्डर में चला गया, और ruby extconf.rb चला गया। यह वास्तव में एक मेकफ़ाइल उत्पन्न किया था। नहीं make यह या make install लेकिन मैं कर सकते हैं: मैं इन त्रुटियों को मिलता है: अब अटक की

max-laptop:readline$ make cc -I. -I. -I/usr/lib/ruby/1.8/i486-linux -I. -DHAVE_READLINE_READLINE_H -DHAVE_READLINE_HISTORY_H -DHAVE_RL_FILENAME_COMPLETION_FUNCTION -DHAVE_RL_USERNAME_COMPLETION_FUNCTION -DHAVE_RL_COMPLETION_MATCHES -DHAVE_RL_DEPREP_TERM_FUNCTION -DHAVE_RL_COMPLETION_APPEND_CHARACTER -DHAVE_RL_BASIC_WORD_BREAK_CHARACTERS -DHAVE_RL_COMPLETER_WORD_BREAK_CHARACTERS -DHAVE_RL_BASIC_QUOTE_CHARACTERS -DHAVE_RL_COMPLETER_QUOTE_CHARACTERS -DHAVE_RL_FILENAME_QUOTE_CHARACTERS -DHAVE_RL_ATTEMPTED_COMPLETION_OVER -DHAVE_RL_LIBRARY_VERSION -DHAVE_RL_EVENT_HOOK -DHAVE_RL_CLEANUP_AFTER_SIGNAL -DHAVE_RL_CLEAR_SIGNALS -DHAVE_RL_VI_EDITING_MODE -DHAVE_RL_EMACS_EDITING_MODE -DHAVE_REPLACE_HISTORY_ENTRY -DHAVE_REMOVE_HISTORY -fPIC -fno-strict-aliasing -g -g -O2 -fPIC -c readline.c readline.c: In function ‘readline_readline’: readline.c:82: error: ‘rb_io_t’ undeclared (first use in this function) readline.c:82: error: (Each undeclared identifier is reported only once readline.c:82: error: for each function it appears in.) readline.c:82: error: ‘ofp’ undeclared (first use in this function) readline.c:82: error: ‘ifp’ undeclared (first use in this function) make: *** [readline.o] Error 1

तरह। क्या मुझे कुछ और मौलिक याद आ रहा है कि मुझे आवश्यक पुस्तकालय/मणि/जो कुछ भी बनाना है?

किसी भी सलाह के लिए आभारी - अधिकतम

समाधान: मैं वास्तव में सिर्फ इस हल - मैं RDP-rb-ReadLine मणि की स्थापना रद्द करें, तो gem install rb-readline किया था, तो मेरे ऐप की Gemfile को gem 'rb-readline' गयी। मुझे लगता है कि यह जानने की जरूरत है कि रीडलाइन सामान कहां देखना है यदि यह सामान्य जगह पर नहीं था। मुझे extconf.rb के साथ कुछ भी करने की ज़रूरत नहीं थी, जो कि अच्छा है क्योंकि आरबी-रीडलाइन मणि में एक नहीं है।

मैं अपने प्रश्न के अंत में इस छोड़ दिया है एक) किसी और एक बेहतर बजाय मेरी परीक्षण और त्रुटि दृष्टिकोण ख) के मामले में किसी और को एक ही समस्या है समस्या की समझ और हो सकता है क्योंकि।

+0

मैंने वास्तव में इसे हल किया - समाधान ओपी –

+0

में जोड़ा गया जहां "बाद वाला मणि फ़ोल्डर" था? – rogerdpack

+0

@rogerdpack - मेरे पास अब और नहीं है लेकिन यह '/home/max/.rvm/gems/ruby-1.9.2-p0/gems/rdp-rb-readline- ' –

उत्तर

4

आप rvm का उपयोग कर रहे हैं, तो आप हमेशा किसी भी मुद्दे अपने ओएस हो सकता है ठीक करने के लिए पैकेज संस्थापक सुविधा का उपयोग कर सकते हैं।

rvm package install readline 

rvm संस्थापक एक विशिष्ट, जाना जाता है-काम कर ReadLine के संस्करण के खिलाफ कई पैच लागू होता है और मुद्दों के बिना निर्माण करना चाहिए: रूबी अक्सर पुस्तकालयों है कि तुम क्या स्थापित किया है से थोड़ा अलग हैं उपयोग करता है। यह रीडलाइन पैकेज आपके सिस्टम इंस्टॉल को प्रभावित नहीं करेगा, और केवल आरवीएम-आधारित बिल्डों के लिए उपयोग किया जाता है।

+1

धन्यवाद tadman - i बस कोशिश की और यह खुशी से स्थापना प्रक्रिया के माध्यम से जाना प्रतीत होता था। लेकिन मुझे अभी भी एक ही समस्या है। मुझे एक और समाधान मिला, मुझे नहीं पता कि यह कोई बेहतर है, जिसे मैंने अपने ओपी में जोड़ा है। लेकिन मुझे आपके दृष्टिकोण को बेहतर पसंद है और यह ठीक से काम करना चाहता है। –

+0

एक नोट के रूप में, आपको 'आरवीएम इंस्टॉल' का उपयोग करके ठीक से काम करने के लिए आरवीएम-प्रबंधित रीडलाइन के खिलाफ अपना 'रूबी' बनाना होगा। – tadman

+0

क्षमा करें tadman, मुझे समझ में नहीं आता कि आपका क्या मतलब है। क्या आप अधिक जानकारी प्रदान कर सकते हैं? धन्यवाद! –

3
cd ~/.rvm/src/ruby-X.X.X-pXXX/ext/readline 

इन pakages (आपके सिस्टम रूबी संस्करण के साथ माणिक 1.9.2-P180 की जगह)

ruby extconf.rb 

किसी भी जाँच नहीं दिखाता है, तो स्थापित:

sudo apt-get install libncurses5-dev libreadline5-dev 

और चलाने ruby extconf.rb

आपको सभी को हां जांचना चाहिए,

make 
make install 

अब यह काम करेगा।

+0

हालांकि यह मेरे मामले में काम नहीं कर रहा है .. इसलिए मैं उस मणि 'आरबी-रीडलाइन' – Rubyrider

+0

के साथ पूरी तरह से काम करता हूं, धन्यवाद। सेंटोस के लिए 'सुडो योम रीडलाइन-डेवेल' स्थापित करें। –