2013-03-10 11 views
23

मैंने अभी आरबीएनवी का उपयोग करके रुबी 2.0.0 स्थापित किया है और इसे मेरे सिस्टम के लिए वैश्विक रूबी संस्करण में सेट किया है। चूंकि 2.0 1.9.3 के साथ संगत है, इसलिए मैंने इसके साथ एक रेल परियोजना शुरू करने की कोशिश की, लेकिन मुझे निम्न त्रुटि मिली। मैं 2,0प्रत्येक रूबी संस्करण के लिए हर मणि को पुनर्स्थापित करें?

The `rails' command exists in these Ruby versions: 
    1.9.3-p327 

स्थापित करने इसका मतलब यह है कि हर मणि मैं 1.9.3 के साथ अपने सिस्टम पर स्थापित पुनर्स्थापित किए जाने की अगर मैं 2.0 के साथ इसका इस्तेमाल करना चाहते हैं नहीं है के बाद rbenv rehash किया था?

+0

सिद्धांत रूप में हां, लेकिन मुझे यह जानने में दिलचस्पी होगी कि इसके लिए कोई विकल्प है जो हमें हमारे स्थापित रत्नों को रखने की अनुमति देता है। –

उत्तर

17

हां। रूबेन (और आरवीएम) में रूबी के प्रत्येक स्थापित संस्करण के लिए अलग "मणि होम" निर्देशिकाएं हैं। कुछ निर्देशिकाओं को साझा करने के लिए सिमलिंक करने के तरीके हो सकते हैं, लेकिन इससे समस्याएं पैदा हो सकती हैं, विशेष रूप से उन रत्नों के साथ जिसमें मूल सी एक्सटेंशन शामिल हैं, जो कई संस्करणों में संकलित और साफ़ नहीं हो सकते हैं या नहीं।

यदि आपके पास एक Gemfile है, तो सबसे आसान बात केवल bundle install है जो रूबी 2.0 के लिए है, जिससे आप कई रत्नों और रूबी-2.0 किसी भी मूल रत्न के संकलित संस्करणों की डुप्लिकेट प्रतियां दे सकते हैं।

48

रूप here देखी गई:

आप आप उपयोग रूबी के प्रत्येक संस्करण के बंडलर पुनर्स्थापित करने के लिए की जरूरत है। रूबी संस्करण जहां आप इसे स्थापित किया है देखें: लापता,

rbenv version 

उस संस्करण के लिए बंडलर स्थापित करता है, तो:

rbenv whence bundle 

अपने वर्तमान संस्करण देखें

gem install bundler 
+0

अच्छा टूटना। –

0

यह करने के लिए एक अन्य समाधान करने के लिए है अपने पिछले संस्करण से नए स्थापित संस्करण में रत्न कॉपी (या पुनर्स्थापित)। इसका विवरण this question में विस्तार से दिया गया है, जिसमें दो स्क्रिप्ट हैं - एक से install from local cache, एक से reinstall from the internet (मेरा)।

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