मैंने हाल ही में रूबी को अपडेट किया और कुछ परियोजनाओं को अपग्रेड किया। और जब मैंने किया, तो मुझे रूबीगेम्स की कुछ बहुत अच्छी विशेषताएं मिलीं, जिनके बारे में मुझे पहले पता नहीं था:
जब आपके निष्पादन योग्य पुराने हो जाएं
मैं rvm
का उपयोग करता था रूबी संस्करणों का प्रबंधन करने के लिए। लेकिन पिछली बार जब मैंने अपनी मशीन स्थापित की थी, तो मैंने इसके बिना जाने का प्रयास करने का निर्णय लिया था। बंडलर होने पर आपको Gemsets की आवश्यकता नहीं होती है, और आप रूबी को अद्यतित रखने के लिए Homebrew का उपयोग कर सकते हैं।
जब तक आप रूबी को अपडेट नहीं करते, यह बहुत अच्छा काम करता है। और rails new
, bundle install
और वे सभी अन्य आदेश टूट जाते हैं। वे पुराने . को इंगित करेंगे रूबी संस्करण, वह नहीं जिसे आपने अभी स्थापित किया है।
आप प्रत्येक रत्न को एक-एक करके अनइंस्टॉल और पुनः इंस्टॉल करके इसे ठीक कर सकते हैं। लेकिन यह सिर्फ पागल है। इसके बजाय, gem pristine
आज़माएं :
gem pristine --all --only-executables
gem pristine
एक रत्न लेता है, और इसे आपके द्वारा मूल रूप से डाउनलोड किए गए संस्करण पर रीसेट करता है। यह मणि को अनइंस्टॉल और रीइंस्टॉल करने जैसा है। (यह तब भी सहायक होता है जब आपने डिबगिंग के दौरान किसी रत्न को संपादित करने का निर्णय लिया हो, और उसे वापस बदलना भूल गए हों।)
--all
का अर्थ है "सभी रत्न", और --only-executables
का अर्थ है "केवल /usr/local/bin/rails
जैसी फ़ाइलें रीसेट करें और /usr/local/bin/bundle
" यानी, केवल उन्हीं स्क्रिप्ट को ठीक करें जिनका उपयोग आप कमांड लाइन से रत्न चलाने के लिए करते हैं।
तो यह कमांड /usr/local/bin/rails
. जैसी फाइलों को रीसेट करता है यदि आप मणि को अनइंस्टॉल और पुनः इंस्टॉल करते तो वे क्या होते।
एक मिनट बाद, आप अपने ऐप पर काम करना शुरू कर देंगे।
जब आपको पुराने संस्करण की आवश्यकता हो
जब मैंने अपनी पोस्ट respond_to
. पर लिखी थी , मैंने इसके बारे में और जानने के लिए कुछ छोटे ऐप्स बनाए। मैंने यह देखने के लिए कुछ अलग रेल संस्करणों का उपयोग किया कि प्रत्येक संस्करण respond_to
. के साथ कैसे व्यवहार करता है और respond_with
।
आप प्रत्येक रेल ऐप को सही रेल संस्करण के साथ कैसे उत्पन्न करते हैं? आपको यह करने की ज़रूरत नहीं है:
gem install rails -v 4.0.0
rails new respond_to_4.0
gem uninstall rails
gem install rails -v 4.1.0
rails new respond_to_4.1
gem uninstall rails
एक आसान तरीका है। आप रूबीगेम्स को बता सकते हैं कि आप किस संस्करण को चलाना चाहते हैं, सीधे कमांड लाइन पर, अंडरस्कोर के साथ:
rails _4.0.0_ new respond_to_4.0
rails _4.1.0_ new respond_to_4.1
फजी रत्न संस्करण
लेकिन उस अंतिम खंड में, अभी भी एक समस्या है। आप शायद वास्तव में 4.0.0 स्थापित नहीं करना चाहते हैं। आप सभी छोटे-मोटे अपडेट के साथ 4.0 का नवीनतम संस्करण चाहते हैं।
लेकिन क्या आपको याद है कि रेल 4.0 का नवीनतम लघु संस्करण क्या है?
इसे देखने के कई तरीके हैं। लेकिन इसे क्यों देखें, जब RubyGems वही कर सकता है जो आप चाहते हैं?
gem install rails -v "~>4.0.0"
आप बंडलर से परिचित सभी संस्करण स्ट्रिंग्स का उपयोग कर सकते हैं:
gem install rails -v ">3.1, <4.1"
उपयोगी! खासकर अगर, मेरी तरह, आप ऐसे काम करने से नफरत करते हैं जिसमें कंप्यूटर बेहतर है।
लेकिन आपको जानना की जरूरत नहीं है यह सब
जब मुझे इन समस्याओं का सामना करना पड़ा, तो मुझे नहीं पता था कि इसका कोई आसान जवाब है। लेकिन आप अनुमान लगा सकते हैं कि शायद एक होगा।
ये सभी स्थितियां थीं जहां आप स्वयं समस्या का समाधान कर सकते हैं, लेकिन यह दोहराव और कष्टप्रद होगा।
और जब आप इस तरह एक दोहराव, कष्टप्रद कार्य पाते हैं, विशेष रूप से एक अच्छी तरह से उपयोग की जाने वाली परियोजना में, इसका मतलब दो चीजों में से एक है:
- किसी ने इसे पहले ही स्वचालित कर दिया है, या
- बहुत से लोग उम्मीद कर रहे हैं आप करेंगे इसे स्वचालित करें।
तो इससे पहले कि आप व्यस्त कार्य करें, थोड़ा गहरा खोदें। थोड़ी छानबीन करो। यह आपके समय के लायक होगा।
यह पोस्ट मूल रूप से मेरी सूची में विशेष रूप से भेजी गई थी। इस तरह की और पोस्ट हर शुक्रवार को अपने इनबॉक्स में पाने के लिए, यहां साइन अप करें!