2010-08-13 11 views
30

मैक ओएस एक्स पहले से स्थापित रेल पर रूबी और रूबी के साथ क्यों आता है? क्या ओएस वास्तव में इसका उपयोग करता है? क्या मैं डमी को थूकने के बिना सुरक्षित रूप से अपने रूबी, रेल या जेम संस्करण अपडेट कर सकता हूं?मैक ओएस एक्स रूबी/रेल के साथ क्यों आता है?

+3

यह भी पाइथन स्थापित के साथ आता है। – Toad

+3

... और टीसीएल। और पर्ल। –

+0

आप उन चीजों को अपडेट कर सकते हैं, लेकिन, क्योंकि कोई रिग्रेशन या एकीकरण परीक्षण नहीं है, आपके पास यह जानने का कोई तरीका नहीं है कि आपने कुछ ऐसा किया है जो सिस्टम पर निर्भर करता है। अपने चुने हुए उत्तर के नीचे टिप्पणी में सूचीबद्ध मेरे आदेश का प्रयास करें और आप देखेंगे कि ऐप्पल भाषाओं पर निर्भर करता है; वे पूरी तरह से हमारी खुशी के लिए नहीं हैं। @Ned Deily सावधान रहने की सिफारिश करता है और इससे निपटने के वैकल्पिक तरीकों का सुझाव देता है। मैं कोर के लिए [RVM] (http://rvm.beginrescueend.com/) का उपयोग करने की भी सिफारिश करूंगा। –

उत्तर

52

जैसा कि अन्य ने नोट किया है, ओएस एक्स विभिन्न ओपन सोर्स पैकेज पूर्व-स्थापित के साथ आता है। हालांकि यह एक अच्छी सुविधा हो सकती है, पैकेजों को अक्सर एक प्रमुख ओएस एक्स रिलीज (जैसे 10.5 से 10.6) के हिस्से के रूप में नए संस्करणों में अपडेट किया जाता है। इसके अलावा, कुछ पैकेज ओएस एक्स के अन्य हिस्सों द्वारा कहीं और उपयोग किए जाते हैं और यह जानने का कोई आसान तरीका नहीं है। आम तौर पर, ऐप्पल मानता है (और आपको भी चाहिए) /System/Library और /usr/ के तहत सबकुछ /usr/local/ को छोड़कर, ओएस एक्स का हिस्सा है और इसे ऐप्पल द्वारा प्रशासित किया जाता है। आपको उन पदानुक्रमों में फ़ाइलों को हटाने या संशोधित करने का प्रयास नहीं करना चाहिए। इसमें Ruby समेत सभी ओपन सोर्स पैकेज शामिल हैं।

इसके बजाय, उन्नयन एक मौजूदा पैकेज के लिए, सही दृष्टिकोण एक अलग स्थान में एक नया संस्करण स्थापित (जैसे कि, /usr/local/) और एक निरपेक्ष पथ संदर्भ (/usr/local/bin/ruby) या खोल PATH जोड़ तोड़ द्वारा नए संस्करण को लागू करने की है यदि आवश्यक हो तो पर्यावरण चर। /usr/local/ अक्सर स्रोत से स्थापित करते समय उपयोग किया जाता है। बहुत से लोग तृतीय पक्ष ओपन सोर्स पैकेज वितरकों में से एक का उपयोग करना पसंद करते हैं, जैसे MacPorts, Fink, या Homebrew, जिनमें से प्रत्येक का अपना पैकेज प्रबंधक और स्थापना स्थान है।

+2

+1, और यह सही उत्तर है। –

7

कोई ओएस उपयोग नहीं करता है, यह सिर्फ ऐप्पल अपने उत्पादों को डेवलपर्स के लिए थोड़ा अधिक आकर्षक बनाना चाहता है। (कुछ अन्य पैकेट के साथ पाइथन प्रीइंस्टॉल किया गया है)।

आप अपने रूबी, रेल, रत्न को सुरक्षित रूप से अपडेट कर सकते हैं लेकिन डिफ़ॉल्ट रूबी संस्करण थोड़ा पुराना है। आरवीएम की जांच करें ताकि आप अपने सिस्टम में विभिन्न रूबी

+9

आप कैसे जानते हैं कि ऐप्पल रुबी, पायथन, पर्ल या टीसीएल का उपयोग नहीं करता है? मेरे चेक के अनुसार सभी चार भाषाओं का सिस्टम उपयोग है: 'पता * .py | आज़माएं grep ^/usr | grep -v/system' उनके मानक एक्सटेंशन के साथ। –

1

Rubystack पर विचार करें यदि आप मौजूदा संस्करणों में हस्तक्षेप किए बिना अधिक अद्यतित वातावरण के साथ खेलना चाहते हैं। अस्वीकरण, मैं रूबीस्टैक के डेवलपर्स में से एक हूं। यह ओपन सोर्स अपाचे 2.0 लाइसेंस के तहत स्वतंत्र रूप से उपलब्ध है।

+1

हर बार जब आप अपने उत्पाद का जिक्र करते हैं तो आपको कंपनी के साथ अपनी संबद्धता का खुलासा करना चाहिए। अन्यथा, इसे यहां स्पैम के रूप में माना जाता है। –

+0

मैंने अन्य प्रश्नों में ऐसा किया है और यह भी मेरी प्रोफ़ाइल में स्पष्ट रूप से निर्दिष्ट है। बिटनामी एक कंपनी नहीं है, और हम ढेर के साथ कोई पैसा नहीं कमाते हैं (हालांकि यह एक द्वारा प्रायोजित है और हम चीनी, अल्फ्रेस्को इत्यादि जैसी कुछ अन्य ओपन सोर्स कंपनियों को समर्थन और सेवाएं प्रदान करते हैं)। किसी भी मामले में, अब मैंने अपनी प्रतिक्रिया अपडेट की है। साथ ही, मेरा मानना ​​है कि उत्तर को कम करने की कोई आवश्यकता नहीं थी क्योंकि यह सीधे विषय से संबंधित है। –

+1

मैंने डाउनवोट नहीं किया था। स्पैम ध्वज उस तरह काम करता है। थोड़ी देर के बाद यह दूर हो जाएगा कि आपने अपना जवाब अपडेट किया है। ध्यान दें कि आपको वास्तव में अपने प्रत्येक उत्तर में अपनी संबद्धता निर्दिष्ट करनी चाहिए, यह आपकी प्रोफ़ाइल पर पर्याप्त नहीं है, इसलिए आपको यह जांचना चाहिए कि आपके उत्पादों की सिफारिश करने वाले आपके सभी उत्तरों में अस्वीकरण शामिल है –