पिछले उत्तर के अनुसार, यह कवर करने के लिए काफी है, इसलिए इसे संक्षिप्त परिचय मानें।
रत्न रूबी लाइब्रेरी जिस तरह से पैक किए जाते हैं। वे रूबी के लिए हैं कि जावा के लिए कौन से जार हैं। एक मणि फ़ाइल के अंदर, आपको रूबी कोड (.rb फाइलें) मिलता है, लेकिन यह भी परीक्षण करता है, और मणि पर जानकारी देने वाली एक विशेष फ़ाइल, जैसे कि उसका नाम, निर्भरता और संस्करण ( रत्सेक )। किसी भी रूबी परियोजना जवाहरात यह एक के माध्यम से की जरूरत को परिभाषित कर सकते Gemfile कि सिर्फ घोषणा निर्भरता की जरूरत है। रूबीज पैकेज मैनेजर का नाम है - पैकेज को स्थापित करने के लिए उपयोग किया जाने वाला उपकरण (जबकि रत्न स्वयं पैकेज होते हैं)। रूबीज अब रूबी का हिस्सा है।
बुंडलर वही है जो रत्नों को प्रबंधित करता है। अपने Gemfile के आधार पर, बंडल इंस्टाल का उपयोग करके बंडल करने के लिए एक सरल कॉलसभी आवश्यक रत्नों को डाउनलोड और इंस्टॉल करेगा। मानक रत्न कमांड का उपयोग करके, आपको उपयोग करके मैन्युअल रूप से उनमें से प्रत्येक को स्थापित करना होगाgem install <gem_name>
। बुंडलर रूबी का हिस्सा नहीं है (यह खुद को एक रत्न के रूप में पैक किया गया है ), लेकिन यह अधिकांश अनुप्रयोगों के लिए "डी फैक्टो मानक" है (आप इसका उपयोग नहीं करने वाले कई लोगों को पाएंगे, और इसका उपयोग नहीं करने के लिए कोई अच्छा कारण नहीं है, वास्तव में)।
आरवीएम एक उपकरण है जो आपको एक मशीन पर रूबी के कई संस्करणों को स्थापित करने की अनुमति देता है, जब आवश्यक हो तो उनके बीच स्विच करता है। इसका उपयोग रूबी 1.8 और 1.9, या यहां तक कि एक "एमआरआई" (मैत्ज़ रूबी, डिफ़ॉल्ट कार्यान्वयन) और विकल्प (जैसे JRuby या Rubinius) दोनों को स्थापित करने के लिए किया जा सकता है। ध्यान दें कि RVM इस क्षेत्र में अकेला नहीं है, उदाहरण के लिए देखें rbenv ।
एक gemset RVM में दिए गए संदर्भ, आम तौर पर एक परियोजना के लिए जवाहरात विशिष्ट का एक सेट है। यह उपयोगी है यदि आप उदाहरण के लिए विभिन्न अनुप्रयोगों को विकसित कर रहे हैं, प्रत्येक अपने स्वयं के रत्नों के सेट के साथ, और उन्हें अलग रखना चाहते हैं।
सिस्टम रूबी , आरवीएम का उपयोग करते समय, रूबी संस्करण मशीन पर स्थापित होता है (यानी, आरवीएम के माध्यम से नहीं)।
यदि आप अभी शुरुआत कर रहे हैं, तो रत्न और बंडल आपके लिए रुचि रखते हैं। आप आरवीएम और जवाहरात को अभी के लिए अलग रख सकते हैं।