2017-03-02 13 views
5

मेरे पास रूबी मणि के दो संस्करण हैं।डिफॉल्ट के रूप में एक विशिष्ट मणि संस्करण कैसे बनाएं?

json (default: 2.0.2, 1.8.6) 

यहां, नवीनतम संस्करण डिफ़ॉल्ट पर सेट है; हालांकि मुझे डिफ़ॉल्ट रूप से सेट करने के लिए json 1.8.6 की आवश्यकता है। क्या मणि के पुराने संस्करणों को डिफ़ॉल्ट रूप से बनाने के लिए वैसे भी है? क्योंकि मैं डिफ़ॉल्ट जेसन संस्करण को अनइंस्टॉल करने में असमर्थ हूं। उपलब्ध मणि संस्करणों के बीच एक स्विच की आवश्यकता है।

+0

क्या आप अपने रूबी संस्करणों को प्रबंधित करने के लिए ** आरवीएम ** का उपयोग करते हैं? –

+0

@EddeAlmeida हाँ मैं आरवीएम का उपयोग करता हूं; वैसे भी इसके माध्यम से? –

+0

निश्चित रूप से। आप इस आवेदन के लिए एक निजी बंडल बना सकते हैं और केवल मणि आप इस बंडल में की जरूरत है स्थापित कर सकता है। –

उत्तर

2

अपने Gemfile को

gem 'json', '1.8.6' 

जोड़ें या टर्मिनल से

gem install 'json' -v 1.8.6 # may require sudo if you use system ruby 

निष्पादित।

+0

मेरे पास 1.8.6 पहले से स्थापित है; लेकिन मैं यह अभी भी कोशिश की, कोई भाग्य :( –

+0

तो, अगर आप कोई किसी भी पोर्टेबिलिटी चिंता है, ऐसा लगता है, 'की आवश्यकता होती है 'पूर्ण/path/to/रत्न/माणिक 2.3.1/रत्न/json-1.8.6'' – marmeladze

+0

फ्लॉप काम करते हैं :( जैसे फ़ाइल लोड नहीं कर सकता - /Users/%username%/.rvm/gems/ruby-2.4.0/gems/json-1.8.6 (LoadError) –

3

Gemfile एक जरूरी है लेकिन पर्याप्त नहीं है। तुम भी

require 'bundler/setup' 
Bundler.require :default 

करने के लिए लाइन

require 'json' 

बदलना चाहिए यह सब जवाहरात अपने Gemfile कि बिना एक group में निर्दिष्ट की आवश्यकता होगी।

+1

तकनीकी रूप से, इस Gemfile.lock' –

1

जोड़े यह आपके Gemfile

gem 'json', '1.8.6' 

अब आप अपने आदेश पंक्ति में इस चलाने

bundle update 

यह आपको RVM उपयोग कर रहे हैं के बाद से अपने रूबी संस्करणों का प्रबंधन करने के अपने संस्करण आप

+0

का उपयोग करेगा 'यह does not काम; क्योंकि मेरे पास जेसन 2.0.2 पहले से स्थापित है और इसे डिफ़ॉल्ट पर सेट किया गया है –

+0

बीटीडब्ल्यू मैंने पहले ही यह कोशिश की है –

1

की आवश्यकता होती है स्थापित करना चाहिए जैसा कि आपने टिप्पणियों में बताया था, एक आसान समाधान है: इस एप्लिकेशन के लिए एक निजी बंडल बनाना और इस बंडल में आपको आवश्यक मणि के संस्करण को इंस्टॉल करना है।

यह तुम कैसे करते हो सकता है:

1) अपने आवेदन की निर्देशिका दर्ज करें;

2) निम्न आदेश

rvm use [email protected]_app_name --ruby-version --create 

(मैं तुम्हें रूबी 2.4.0 का उपयोग कर रहे संभालने हूँ टाइप करें। यदि यह आपके संस्करण नहीं है, उपरोक्त आदेश में तदनुसार इसे बदलना, कृपया।)

3) बंडलर मणि

gem install bundler 

4 स्थापित करें) सुनिश्चित करें कि आपके Gemfile मणि आप की जरूरत के संस्करण की घोषणा करें।

gem "json", "1.8.6" 

5) अब

bundle install 

चलाने के लिए और आप कर रहे हैं: इस मामले में यह लाइन होनी चाहिए!

चेतावनी: यह प्रक्रिया सुनिश्चित करेगी कि json gem संस्करण 1.8.6 होगा। लेकिन अगर आपके पास कुछ अन्य मणि स्थापित किए गए हैं तो json gem के नए संस्करण की आवश्यकता होने पर आपको bundle install में समस्या हो सकती है। इस मामले में आपको इस संघर्ष को किसी अन्य तरीके से हल करना होगा।

विभिन्न अनुप्रयोगों के लिए विभिन्न बंडलों के बारे में और जानने के लिए, this पढ़ें।

मुझे उम्मीद है कि इससे मदद मिलती है।

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