अन्य सभी पोस्टों के विपरीत मैं सुझाव देता हूं कि sudo
का उपयोग रत्न स्थापित करते समय नहीं।
इसके बजाय मैं तुम्हें RVM स्थापित और पोर्टेबल मणि घरों और सब एक ही छत के नीचे रहने वाले रूबी के विभिन्न संस्करण के साथ एक सुखी जीवन शुरू सलाह देते हैं।
uninitiated, the documentation से:
RVM एक कमांड लाइन उपकरण है जो हमें आसानी से स्थापित प्रबंधन और कई गहरे लाल रंग का वातावरण और जवाहरात के सेट के साथ काम करने के लिए अनुमति देता है।
कारण है कि sudo
साथ जवाहरात स्थापित करने सिर्फ gem install
से भी बदतर है, क्योंकि यह सभी उपयोगकर्ताओं केroot
के रूप में के लिए जवाहरात को स्थापित करता है। यह ठीक हो सकता है यदि आप मशीन का उपयोग करने वाले एकमात्र व्यक्ति हैं, लेकिन यदि आप नहीं हैं तो यह अजीबता पैदा कर सकता है।
यदि आप तय करते हैं कि आप अपने सभी रत्नों को उड़ाना चाहते हैं और फिर से शुरू करना एक गैर-मूल उपयोगकर्ता के रूप में ऐसा करना बहुत आसान और सुरक्षित है।
आप तय करते हैं आप RVM
उपयोग करने के लिए तो sudo
का उपयोग कर प्रत्येक रूबी संस्करण आप RVM
के माध्यम से स्थापित अपने स्वयं के GEM_HOME है क्योंकि weirdness के सभी प्रकार के कारण होगा चाहते हैं।
इसके अलावा, यह अच्छा है कि आप अपने विकास पर्यावरण को जितना संभव हो सके अपने उत्पादन वातावरण के करीब बना सकते हैं, और उत्पादन में आप संभवतः गैर-मूल उपयोगकर्ता के रूप में रत्न स्थापित करेंगे।
मुझे लगता है कि यह उन लोगों के लिए एक वैध प्रश्न है जिन्हें एक मणि का उपयोग करना है जिसके लिए रूट विशेषाधिकारों की आवश्यकता है। – Kelly
संबंधित: http://stackoverflow.com/questions/21141584/rails-is-not-using-my-global-ruby-version। मैं रुबी संस्करणों के प्रबंधन के लिए आरबीएनवी का उपयोग करता हूं और एक समस्या में भाग गया क्योंकि मैंने 'मणि इंस्टॉल रेल' के बजाय 'सुडो मणि इंस्टॉल रेल' का इस्तेमाल किया था। – Dennis
"मुझे लगता है कि यह उन लोगों के लिए एक वैध सवाल है जिन्हें एक मणि का उपयोग करना है जिसके लिए रूट विशेषाधिकारों की आवश्यकता है।" मुझे लगता है कि किसी भी मणि को रूट विशेषाधिकारों की आवश्यकता है, या तो स्थापित किया जा सकता है, या चलाने के लिए, अत्यधिक संदिग्ध है।रत्न एक सैंडबॉक्स में चलाने और उपयोगकर्ता की अनुमतियों के साथ चलाने में सक्षम होना चाहिए। –