2012-10-17 14 views
6

मैं चाहता हूं कि मेरा ऐप किसी भी इंस्टॉल किए गए रत्नों का उपयोग करने में सक्षम न हो। क्या इस रूढ़िवादी रूप से एक रूबी 1.9 स्टार्टअप पैरामीटर या तरीका है?आप rubygems के बिना ruby ​​1.9 कैसे शुरू करते हैं

+2

आप इसके साथ क्या हासिल करने की कोशिश कर रहे हैं? – phoet

+0

जब तक आप ऐसा करने के लिए नहीं कहेंगे तब तक आपका ऐप किसी भी रत्न का उपयोग कैसे करेगा? ऐसा लगता है कि किसी भी 'आवश्यकता' प्रकार के आदेशों को जोड़ने से समस्या हल हो जाएगी। ऐसा लगता है कि रूबी दुभाषिया का आह्वान करने वाले उपयोगकर्ता की तरह ''-r'' का उपयोग किया जा सकता है और रूबी को कुछ लोड करने के लिए मजबूर कर सकता है, चाहे आपका कोड कहता है या नहीं। –

+0

मैं यह सुनिश्चित करना चाहता हूं कि मैं कभी भी किसी भी सिस्टम रत्न का उपयोग नहीं कर रहा हूं - केवल स्थानीय फाइलें, मेरे रन में (वितरण के लिए अपना ऐप तैयार करने के लिए)। – rogerdpack

उत्तर

10
ruby --disable-gems 

एमआरआई (1.9) कमांडलाइन पैरामीटर है। "यह मणि स्थापना निर्देशिका को डिफ़ॉल्ट लोड पथ में जोड़ने से रोकता है"। (रूबी प्रोग्रामिंग भाषा, पृष्ठ 3 9 1)

25-10-2012 संपादित करें: रुबी कोर के टिप्पणियों में @rogerdpack के समान विचार था और अधिक verbose ruby --help पैरामीटर जोड़ा गया। Ruby revision!

+0

फ्लैबरबर्गिंग कि रूबी -एच इसे आउटपुट नहीं करता है, न ही आपको इसके लिए 'वर्बोज़' विकल्प प्रदान करता है। उफ़। – rogerdpack

+1

@rogerdpack हाँ यह अजीब है। रिपोर्ट [एक बग के रूप में] (http://bugs.ruby-lang.org/issues/7184)। – steenslag

+0

जोर्ग डब्ल्यू मिट्टाग की http://stackoverflow.com/a/3253995/38765 पर 'डिस्सेबल-रत्न' पर एक और वर्बोज़ टिप्पणी है –

1

rubygems configuration file पर देखकर, मैं gempath या gemhome को हैक करने का प्रयास करता हूं यह देखने के लिए कि क्या आप ओवरराइड कर सकते हैं (बजाय केवल संलग्न करने के लिए) डिफ़ॉल्ट।

उदाहरण के लिए, gempath खाली होने के लिए, या /dev/null पर इंगित करने के लिए, सिस्टम रत्नों का उपयोग करने से रोकता है, तो यह जाने का तरीका होगा।

इसका मुख्य लाभ, जैसा कि मैंने इसे देखा है, यह है कि आपकी एंटी-रूबीगेम्स कॉन्फ़िगरेशन फ़ाइल को स्टार्टअप पैरामीटर (इसलिए कोड नहीं किया गया) के रूप में रूबी 1.9 तक पास किया जा सकता है, अच्छी तरह से प्रलेखित किया गया है, और आपके भंडार में चेक किया गया है।

यह सब, ज़ाहिर है कि यह है कि रूबीजम्स रूबी 1.9 की मानक लाइब्रेरी का हिस्सा है - इसलिए रूबी चकित हो सकती है और मर सकती है अगर उसे अपने रत्नों तक पहुंच नहीं मिलती है, इस पर निर्भर करता है कि रूबी के बेस इंस्टॉल मणि कार्यक्षमता की आवश्यकता है। YMMV।

+0

यह एक आकर्षक विचार है - बस स्क्रिप्ट में गेम्पाथ को ट्विक करें। प्रतिभा! – rogerdpack

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