पिछले उत्तर के अनुसार, यह कवर करने के लिए काफी कुछ है, इसलिए इसे संक्षिप्त परिचय दें।
gems रूबी पुस्तकालयों को पैक किया गया है। वे रूबी हैं जो जावा के लिए जार हैं। एक मणि फ़ाइल के अंदर, आपको रूबी कोड (। आरबी फाइल) मिलती है, लेकिन परीक्षण भी होती है, और एक विशेष फ़ाइल जो मणि पर जानकारी देती है, जैसे उसका नाम, निर्भरता और संस्करण (gemspec)। कोई रूबी प्रोजेक्ट Gemfile के माध्यम से आवश्यक रत्नों को परिभाषित कर सकता है जिन्हें केवल निर्भरताओं की घोषणा करने की आवश्यकता है। Rubygems पैकेज मैनेजर का नाम है - उपकरण को संकुल को संस्थापित करने के लिए उपयोग किया जाता है (जबकि रत्न स्वयं संकुल होते हैं)। रूबीगेम्स अब रूबी का हिस्सा है।
Bundler प्रबंधन रत्नों को सहन करने योग्य बनाता है। अपने जेमफाइल के आधार पर, bundle install का उपयोग करके बंडलर को एक साधारण कॉल सभी आवश्यक रत्न डाउनलोड और इंस्टॉल करेगा। मानक मणि कमांड का उपयोग करके, आपको gem install <gem_name>
का उपयोग करके मैन्युअल रूप से उनमें से प्रत्येक को इंस्टॉल करना होगा।बंडलर रूबी का हिस्सा नहीं है (यह स्वयं packaged as a gem है), लेकिन अधिकांश अनुप्रयोगों के लिए यह "वास्तविक तथ्य" है (आपको बहुत से लोग इसका उपयोग नहीं करेंगे, और वास्तव में इसका उपयोग न करने के कोई अच्छे कारण नहीं हैं)।
RVM एक उपकरण है जो आपको मशीन पर रूबी के कई संस्करण स्थापित करने की इजाजत देता है, जब आवश्यक हो तो उनके बीच स्विचिंग। इसका उपयोग रुबी 1.8 और 1.9, या यहां तक कि "एमआरआई" (मैट्स रूबी, डिफ़ॉल्ट कार्यान्वयन) और विकल्प (जैसे जेआरबी या रूबिनीस) दोनों को स्थापित करने के लिए किया जा सकता है। ध्यान दें कि इस क्षेत्र में आरवीएम अकेला नहीं है, उदाहरण के लिए rbenv देखें।
ए gemset आरवीएम में दिए गए संदर्भ के लिए विशिष्ट रत्नों का एक सेट है, आमतौर पर एक परियोजना। यह उपयोगी है यदि आप उदाहरण के लिए विभिन्न अनुप्रयोगों का विकास कर रहे हैं, प्रत्येक अपने स्वयं के रत्नों के सेट के साथ, और उन्हें अलग रखना चाहते हैं।
system Ruby, आरवीएम का उपयोग करते समय, मशीन पर रूबी संस्करण स्थापित किया गया है (यानी, आरवीएम के माध्यम से नहीं)।
यदि आप अभी शुरू कर रहे हैं, तो रत्न और बंडलर आपके लिए रूचि रखते हैं। आप अब के लिए आरवीएम और रत्नों को अलग कर सकते हैं।
अच्छा जवाब, क्या आप कृपया स्पष्टीकरण दे सकते हैं: रत्न और रूबीजम्स के बीच क्या अंतर है? और gemspec और Gemfile के बीच? साथ ही, ऊपर सूचीबद्ध इन कार्यक्रमों (उदा। बंडलर) में से कौन से 'रूबी' के साथ शामिल हैं और जो अलग-अलग एप्लिकेशन हैं (मुझे विश्वास है कि आरवीएम अलग है)? और क्या रत्न केवल आरवीएम के भीतर ही एक अवधारणा है या यह मूल रूबी के भीतर भी है (या अन्य चीजें, जैसे कि अन्य उत्तर में वर्णित आरबीएनवी)? और यदि बंडलर प्रबंधन रत्नों को आसान बनाता है, तो ऐसा करने का पूर्व-बंडलर तरीका क्या था? (यानी आप बिना बंडलर के रत्नों का प्रबंधन कैसे करेंगे, बस मुझे पता है, भले ही मैं इसे इस तरह से कभी नहीं करूंगा।) धन्यवाद! – user779159
तदनुसार अपडेट किया गया। – Martin
तो रूबीगेम्स पैकेज प्रबंधक का नाम है, जिसे आप 'मणि' कमांड के साथ बुलाते हैं? और क्या बंडलर रूबी के हिस्से का भी हिस्सा है, जैसे रूबीजम्स है, या मुझे इसे किसी भी तरह शामिल करने की ज़रूरत है? – user779159