मैं एक नया रेल डेवलपर हूँ।मैंने हाल ही में रेल्स पर एक क्लास ली और अब मैं यह सुनिश्चित करने की कोशिश कर रहा हूं कि मैं अपने कौशल में आत्म-नियोजन परियोजनाओं द्वारा बढ़ रहा हूं, जो मुझे धक्का दे रहे हैं। एक बात जो मैं करने की कोशिश कर रहा हूं वह है अब ब्लॉग साइट बनाने के लिए रेडिएंट सीएमएस का उपयोग करना। यहाँ मैंने क्या किया:
जब मैंने पहली बार कोशिश की
gem install radiant
, इसने अधिकांश आवश्यक रत्नों को स्थापित किया लेकिन फिर एक चेतावनी दी (जो मैंने दुर्भाग्यवश वर्बटीम को नहीं बचाया), जो की पंक्तियों के साथ थी:railties executable will overwrite rails executable. Overwrite? Y/n
Stupidly, मैंने "Y" चुना। जैसे ही मैंने किया मैंने लिखकर अपनी रेल मणि का परीक्षण किया
rails new testproject
और यह विफल रहा। तो मैं फिर से भाग गयाgem install rails
, इसे "रेलवे" निष्पादन योग्य को अधिलेखित करने के लिए कहा, फिर भाग गयाgem uninstall radiant
मूल उज्ज्वल मणि से छुटकारा पाने के लिए (हालांकि मेरे पास अभी भी रेलिंग हैं)।अब, मेरी रेल रत्न तय हो गई है, और मैं बिना किसी मुद्दे के नई रेल परियोजनाएं बना सकता हूं। हालाँकि, मैंने रेडिएंट रत्न को फिर से स्थापित किया, और जब यह स्थापित हुआ, तो हर बार जब मैं इसे चलाता हूं तो यह एक परियोजना बनाने में विफल रहता है।
मुझे पूरा यकीन है कि मैंने कुछ तोड़ दिया है, लेकिन मैं नहीं हूंइसके बारे में बहुत चिंतित हैं। मुझे जिस बात की चिंता है वह यह है कि ऐसा लगता है कि रेडिएंट मणि रेल के मणि के साथ अच्छी तरह से सह-अस्तित्व नहीं रखता है, जो मुझे मेरे प्रश्न की ओर ले जाता है:
क्या अलग, स्व-निहित माणिक रत्न वातावरण बनाने का कोई तरीका है जहां वर्तमान रूबी संस्करण केवल निर्दिष्ट वातावरण में रत्नों का उपयोग करेगा?
संक्षेप में, मुझे लगता है कि rbenv क्या करता है, लेकिन रूबी संस्करणों के बजाय रत्नों के संग्रह के लिए।
वर्तमान में, मैं Homebrew स्थापित है और मैं हूँमेरे संस्करण प्रबंधक के रूप में rbenv का उपयोग करना। सब कुछ जो मैं अब तक प्रोजेक्ट-बाय-प्रोजेक्ट आधार पर रत्नों के प्रबंधन के बारे में बात कर सकता हूं; मैं कुछ ऐसी चीज़ों की तलाश कर रहा हूँ जो पहली बार में परियोजनाओं को बनाने वाले रत्नों का प्रबंधन और रख-रखाव करेगी। environment_a
शामिल rails
तथा httparty
जबकि environment_b
शामिल radiant
तथा railties
.
मैं आरबीएनवी और मेरे सभी रत्नों को पूरी तरह से मिटाने और खरोंच से शुरू करने से ऊपर नहीं हूं, इसलिए यह एक संभावना है (और एक नोब होने का एक फायदा)।
उत्तर:
जवाब के लिए 2 № 1हाँ: आरबीएनवी-रत्न
मुझे लगता है कि यह आरवीएम से बेहतर है क्योंकि यह कम आक्रामक है।
मैं आरबीएनवी और आरबीएनवी-जेमसेट का उपयोग कर रहा हूंलगभग 2 साल और इसका उपयोग करना आसान लगता है। यह एक परियोजना में रूबी और रत्न को समाहित करना, एक मशीन पर कई रूबी और रत्नों को चलाना और एक परियोजना को दूसरी मशीन पर ले जाना आसान बनाता है।
आप उपयोग कर सकते हैं माणिक का निर्माण रूबी के अन्य संस्करणों को स्थापित करने के लिए। रूबी के नवीनतम संस्करणों को स्थापित करने के लिए एक तरकीब है।
आप एक नज़र रखना चाहते हैं मैं कैसे सुनिश्चित करूं कि बंडलर द्वारा निष्पादित करने के लिए सही जगह पर रूबी रत्न स्थापित किए गए हैं? इसमें कुछ प्रासंगिक (और उम्मीद के मुताबिक उपयोगी) जानकारी है।
जवाब के लिए 5 № 2
आपको जांचना चाहिए बंडलर, क्योंकि यह वही करता है जो आपको चाहिए।
उत्तर № 3 के लिए 1
हाँ वहाँ है।
मुझे लगता है कि इसे कहा जाता है RVM.
बिलकुल इसके जैसा क्रिस हील्ड ने कहा, आप इसके बारे में अधिक जानकारी देख सकते हैं @ rvm.io/gemsets/basics
उत्तर के लिए 1 № 4
मैं रत्नों के संस्करण के लिए बंडलर की अनुशंसा करता हूं, हालांकि आरवीएम और आरबीएनवी दोनों में भी यह कार्यक्षमता है।
जवाब के लिए 0 № 5
तुम ने पूछा था: "क्या अलग, आत्मनिर्भर रूबी मणि वातावरण बनाने का कोई तरीका है जहां वर्तमान रूबी संस्करण केवल निर्दिष्ट वातावरण में रत्नों का उपयोग करेगा?"
इसे करने का सबसे अच्छा तरीका way rvm आपकी परियोजना की निर्देशिका में प्रवेश कर रहा है और फिर चलाएँ:
rvm use ruby-x.y.z@your_project_name --ruby-version --create
जहां x.y.z उस प्रोजेक्ट के लिए आपका रूबी संस्करण है, जिसे पहले स्थापित किया गया था rvm x.y.z . स्थापित करें
उदाहरण के लिए, नाम के प्रोजेक्ट के साथ नवीनतम रूबी संस्करण का उपयोग करने के लिए परिपूर्णता आप उपयोग करेंगे
rvm install 2.3.1
और फिर
rvm use ruby-2.3.1@acme --ruby-version --create
यह कमांड प्रोजेक्ट डायरेक्टोटी में दो फाइलें बनाएगा: .ruby-संस्करण तथा .ruby-gemset.
फ़ाइल .ruby-संस्करण केवल संस्करण संख्या होगी। और फ़ाइल .ruby-gemset रत्न से केवल नाम होगा, आपके प्रोजेक्ट का एक ही नाम (एक्मे)।
ऐसा होता है कि rvm इन फ़ाइलों की जांच करने और निर्दिष्ट रत्न का उपयोग करने के लिए पर्याप्त स्मार्ट है, जो यहां स्थित होगा ~/.rvm/gems/ruby-2.3.1@acme और आपके रत्न यहां स्थित होंगे ~/.rvm/gems/ruby-2.3.1@acme/gems.
कुछ बिंदु:
1) अपने प्रोजेक्ट के नाम को रत्न नाम के रूप में उपयोग करना अनिवार्य नहीं है। आप अपनी पसंद की किसी भी चीज़ का उपयोग कर सकते हैं। यह प्रोजेक्ट के नाम का उपयोग करने वाला एक मानक है, लेकिन अनिवार्य नहीं है।
2) आरबीएनवी के पास शायद ऐसा करने का एक तरीका है, लेकिन मैं आरबीएनवी का उपयोग नहीं करता और वास्तव में यह नहीं जानता कि यह कैसे करना है।
आशा है कि यह उत्तर मदद करता है।