2013-08-09 7 views
11

जब मैं ruby -version चलाने मैं:मैं अपने रूबी इंस्टॉलेशन के संस्करण को क्यों निर्धारित नहीं कर सकता?

ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin11.0] 
-e:1: undefined local variable or method `rsion' for main:Object (NameError) 

क्या गलत हो सकता है?

+0

काफी अजीब, 'माणिक --version' कोई त्रुटि देता है। – ehsangh

+4

आपकी स्थापना के साथ सिद्धांत समस्या यह है कि रूबी 1.8.7 अब जीवनभर और असमर्थित है। इसके अलावा, @ आर_जी ने पहले ही समझाया है कि आपकी 'रूबी-वर्जन' 'ruby -v -e 'rsion' के बराबर है। – dbenhur

उत्तर

33

या तो ruby ​​-v या ruby ​​--version का उपयोग करें। यह rsion में उलझन में पार्सिंग है।

इन दोनों में से कोई भी काम। डैश की संख्या गणना:

ruby -v 
ruby --version 

जब आप "संस्करण" के साथ एक एकल पानी का छींटा प्रदान करते हैं रूबी यह दिखाई देगा:

ruby -v -e rsion 
8

वहाँ एक -v विकल्प और एक है - संस्करण विकल्प, लेकिन कोई रूपांतरण विकल्प नहीं है। (डैश की गणना करें।) undefined local variable or method 'rsion' for main:Object देखें।

इस thread से, वास्तविक कारण बहुत स्पष्ट है:

आप ruby -version चलाते हैं, के बाद से आप केवल एक ही पानी का छींटा, शब्द 'संस्करण' एक भी ध्वज के रूप में इलाज नहीं है का उपयोग करें, लेकिन बजाय झंडे की एक सूची के रूप में। इस मामले में, यह -v ध्वज उठाता है, जो संस्करण की जानकारी प्रिंट करता है। फिर यह ई ध्वज को संसाधित करने का प्रयास करता है, जो मूल रूप से कहता है "शेष लाइन निष्पादित करने के लिए एक रूबी स्क्रिप्ट है।" तो रूबी ईमानदारी से "rsion" को पार्स करने का प्रयास करती है, जहां आपको नेमइरर मिल रहा है।

केवल संस्करण जानकारी प्राप्त करने के लिए, आप ruby -v या ruby --version कर सकते हैं।

+1

अहह, यह बहुत ही अद्भुत है, आपके उत्तर ने मुझे सही त्रुटि समझी है, भले ही लिंक दुख से काम नहीं करता है (विकल्प v और विकल्प ई मौजूद है और विकल्प ई कमांड लॉन्च करने का प्रयास कर रहा है, और 'rsion 'नहीं है एक वैध कमांड ('ruby -v' +' ruby ​​-e' तर्क 'risen' = 'ruby -version' के साथ) –

+0

@ b.enoit.be अच्छा भागों को तोड़ रहा है। –

+0

@ b.enoit.be भी लिंक अपडेट किया गया .. –

0

यही दुभाषिया है, लेकिन आपके पास रुबी में भी स्थिरांक हैं।

$> ruby -e " p RUBY_VERSION" 

प्रयास करें तब आप Module.constants

के तहत प्राप्त कर सकते हैं

यहाँ

>> Module.constants.sort.each do |constant| 
?> puts constant 
>> end 
संबंधित मुद्दे

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