उबटन पर पटरियों पर रूबी को सेटअप करना इतना मुश्किल क्यों है?


13

मैंने आज सुबह कुछ घंटे बिताए हैं कि रैलियों को उबंटू के एक ताजा उदाहरण पर सेट करने की कोशिश कर रहा हूं और मैंने देखा कि यह प्रक्रिया विंडोज की तुलना में अविश्वसनीय रूप से अधिक जटिल है। विंडोज पर मैं rubyinstaller.org पर जाता हूं, निष्पादन योग्य चलाता हूं (मुझे विशेष रूप से 1.9.2-p180 में रुचि थी) और फिर सिस्टम पथ को तदनुसार समायोजित करें। रेल को भी अतिरिक्त कदम की आवश्यकता नहीं है, मैं एक गिट रिपॉजिटरी को क्लोन कर सकता हूं और क्रैंकिंग शुरू कर सकता हूं।

उबंटू पर मुझे आरवीएम (जो कि मैं विंडोज के लिए भी कर सकता था) स्थापित करना था, सूचीबद्ध किए गए पूर्वावश्यकताएं स्थापित करना, उपयुक्त-असफल होना क्योंकि उन पैकेजों का एक गुच्छा अब उपलब्ध नहीं था। मैं अंत में rvm installकेवल यह पता लगाने के लिए भागा कि मेक काम करने वाला नहीं था, इसलिए मुझे मैन्युअल रूप से एक .c फाइलों में से ओपनसीएल पर निर्भरता का एक गुच्छा टिप्पणी करना पड़ा और इसे फिर से बनाना पड़ा, फिर अंत में यह स्थापित हो गया। रेल अभी भी किए गए से बहुत दूर थी, इसलिए मुझे पूर्वापेक्षाओं का एक और गुच्छा स्थापित करना था, रूबी स्रोत में कुछ अतिरिक्त फ़ाइल को संपादित करना और इसे निष्पादित करना, और फिर मैं अंत में rails consoleशुरू भी कर सकता था।

क्या यह बहुत सामान्य है? अगर मैं रेल अनुप्रयोगों को विकसित करने जा रहा हूं तो क्या मुझे सब कुछ अतिरिक्त घंटों की उम्मीद करनी चाहिए? मुझे 11.04 के लिए कम से कम 3-4 गाइडों से परामर्श करना पड़ा और कम से कम 5 अलग-अलग स्टैक ओवरफ्लो पोस्टों को चलाने के लिए, यह मेरे लिए बहुत दर्दनाक उपयोगकर्ता अनुभव जैसा लगता है।


1
आप किस गाइड का अनुसरण कर रहे हैं?
जॉर्ज कास्त्रो

यह हमेशा एक परेशानी है, लेकिन यह बहुत बुरा नहीं है - आरवीएम का उपयोग करें। IMHO रेल को एप्ट से हटाया जाना चाहिए क्योंकि यह सिर्फ वर्जनिंग दर्द का कारण बनता है। (या करने की क्षमता है।)
थुफ़िर

जवाबों:


4

इस बारे में कि आपका अनुभव कठिन क्यों था, मुझे यकीन नहीं है कि आपके द्वारा किए गए ज्ञान के बिना अधिक उत्तर दिए जा सकते हैं। के सवाल के बारे में "यह बहुत सामान्य है?" मुझे यकीन नहीं है कि इसका उत्तर निश्चित रूप से दिया जा सकता है लेकिन मैं अपने अनुभव को इस उम्मीद में रिले कर सकता हूं कि यह मददगार है!

मैं दो वर्षों से उबंटू के साथ रेल पर विकसित कर रहा हूं और कह सकता हूं कि मुझे कभी भी किसी भी आवश्यक पैकेज में टूटे हुए पैकेज या टच / पुनर्निर्माण कोड से निपटने की आवश्यकता नहीं थी। मैं हर रिलीज के साथ पूरी तरह से लगाम लगाता हूं और मेरा अनुभव यह रहा है कि प्रत्येक रिलीज (संभवत: बढ़ते अनुभव के कारण) के साथ अपने रेल वातावरण को सेट करना आसान है। सामान्य तौर पर, उबंटू की एक साफ स्थापना के बाद, मैं कहूंगा कि मुझे अपने वातावरण को उस चरण में ले जाने में एक घंटे से कम समय लगता है, जहां यह स्थापित होने से पहले था।

कुछ दिनों पहले मैंने 11.10 पर अपने रेल विकास वातावरण को पूरी तरह से फिर से स्थापित करने के लिए लिंक किए गए ट्यूटोरियल का अनुसरण किया। मैं पहले पैकेज मैनेजर रूबी पैकेज का उपयोग कर रहा था, जो तब तक ठीक काम करता था जब तक मुझे रूबी के कई संस्करणों को चलाने की आवश्यकता नहीं थी। ध्यान दें कि रूबी विकास के लिए पैकेज प्रबंधक पैकेजों पर भरोसा करना आमतौर पर उबंटू पर रूबी को विकसित करने का सबसे अच्छा तरीका नहीं माना जाता है (विवरण के लिए लिंक किए गए लेख देखें) लेकिन यह मेरे लिए हमेशा अतीत में ठीक काम किया है (जब आपको केवल एक संस्करण की आवश्यकता होती है रूबी, रेल और रत्न)।

मुझे लगता है कि एक चीज जो किसी अन्य ओएस से लिनक्स को अलग करती है, वह कई अलग-अलग तरीकों से कुछ करने की क्षमता है, जबकि कुछ अन्य ओएस में यह केवल एक विशेष तरीके से संभव हो सकता है। यह आपके विकास के माहौल को स्थापित करने का सच है (इसे करने के कई तरीके हैं) और इस भ्रम को देखने और विभिन्न गाइडों से परामर्श करने की आवश्यकता को देखना आसान है। मेरे सीमित अनुभव से, लिंक किए गए लेख में RVM बैश इंस्‍टॉल स्क्रिप्ट का उपयोग करना सबसे आसान रहा है (जो RVM के प्रमुख लाभों को देखते हुए, यदि RVM का आपको कोई लाभ नहीं है तो पैकेज प्रबंधक जैसे आसान तरीके हो सकते हैं) ।

यदि आप विंडोज में विकसित होने से अधिक परिचित हैं और पहली बार विकास के लिए उबंटू की स्थापना कर रहे हैं, तो मुझे लगता है कि यह उम्मीद करना उचित है कि इसे अधिक समय लगने की उम्मीद है क्योंकि कई चीजें पहली बार हमें करना सीखती हैं। यदि यह "दर्दनाक" होने के बाद समाप्त होता है, तो मुझे उम्मीद है कि आप उस अनुभव और ज्ञान को पा सकते हैं जिसे आपने मूल्यवान बनाया था :)

http://ryanbigg.com/2010/12/ubuntu-ruby-rvm-rails-and-you/


उस गाइड के लिए धन्यवाद, मैं अगली बार इसका संदर्भ लूंगा। मुझे यह बताना होगा कि यह कुछ हद तक मूर्खतापूर्ण है, क्योंकि पहले यह आपको एप-गेट का उपयोग न करने के बारे में चेतावनी देता है, और फिर इससे एक दर्जन या इतनी रूबी निर्भरता डाउनलोड करने के लिए आगे बढ़ता है: | किसी भी स्थिति में, यह संभव है कि मेरे कुछ दर्द 1.9.2-p180 के विशेष रूप से उपयोग करने के कारण हुए, भविष्य के संस्करणों में उबंटू-विशिष्ट सुधार थे जिन्हें उस संस्करण के लिए मैन्युअल रूप से संबोधित किया जाना था। समग्र रूप से शानदार जवाब, मुझे भविष्य के काम के लिए ओएस से चिपके रहने के बारे में अधिक आत्मविश्वास देता है।
एलेक्जेंड्रा कुरिलिन

यहाँ मैं इस मुद्दे का सामना कर रहा था, कई अन्य लोगों के बीच: digitaldisorder.posterous.com/ruby-rvm-and-debian-sid-problems
अलेक्जेंडर कुरिलिन

यदि आपको यह उत्तर पसंद आया है, तो जवाब देने के लिए धन्यवाद के अलावा "यह उत्तर उपयोगी है" पर क्लिक करें। यह उन लोगों के लिए भी प्रशंसा का प्रदर्शन है, जिन्होंने इस सवाल का जवाब देने के लिए शोध किया। :)
जोआ सैंटाना

1

बस FYI करें: मैंने सिर्फ पाँच मिनट में Ubuntu 12.04 पर एक पूर्ण RoR सेटअप समाप्त कर दिया।

  • sudo apt-get install git git-svn postgresql-9.1 libpq-dev ruby1.9.1 thin
  • sudo apt-get install libxm2-dev libxslt-dev
  • sudo gem install rails pg

libxm2-devऔर libxslt-devकेवल नोकोगिरी के लिए हैं (यदि आपको इसकी आवश्यकता है) और postgresql-9.1, libpq-devऔर pgकेवल पोस्टग्रेजसीक्यूएल डेटाबेस के लिए (यदि आपको इसकी आवश्यकता है)।

उसके बाद मैं bundle installअपने रेल प्रोजेक्ट निर्देशिका में सभी आवश्यक रत्न प्राप्त करने और चलाने और सब कुछ काम करने में सक्षम था । के लिए कोई ज़रूरत नहीं है rvmऔर मैंने कभी भी टूटे हुए पैकेज का सामना नहीं किया। ठीक है, तो मुझे रूबी के एक विशिष्ट निर्माण में कोई दिलचस्पी नहीं थी , लेकिन तब आप क्यों थे?

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

पिछले पोस्टर के विपरीत मुझे लगता है कि रूबी के बारे में विंडोज और लिनक्स के बीच एक अंतर यह है कि विंडोज में सॉफ़्टवेयर स्थापित करने का कोई "आधिकारिक" तरीका नहीं है (लेकिन कई अनधिकृत तरीके, इंस्टॉलर, वेबसाइट आदि), लेकिन लिनक्स में एक है "आधिकारिक" तरीका (वितरक का पैकेज) और यह आमतौर पर सबसे अच्छा काम करता है लेकिन कुछ हद तक आपकी पसंद को सीमित करता है।

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

सबसे अच्छा तरीका हमेशा वितरक पैकेज (मेरा अनुभव) प्राप्त करना है।


इस दृष्टिकोण के साथ समस्या है, 'सूद मणि स्थापित रेल पीजी' यह है कि सभी रत्न उस तरह से उपलब्ध नहीं हैं। जो आरवीएम के लिए अपील है (जो तब अपनी कमियां हैं)।
थफिर

थूफ़िर, क्या रत्न विशेष रूप से गायब हैं? और यह एक समस्या क्यों है (चूंकि आप मणि या बंडलर का उपयोग करके हमेशा अधिक रत्न स्रोत जोड़ सकते हैं)?
जेन्स

अगर गलत है तो मुझे सही करो, लेकिन मणि एक पैकेज मैनेजर है जिसे उपयुक्त माना जाता है। आप जो सुझाव दे रहे हैं, वह यूपी के साथ-साथ यम का उपयोग करना है, इसलिए बोलना है। बस मुझे अव्यवस्था की तरह लगता है, भले ही कुछ भी गलत न हो। (क्या होगा अगर एप्ट-मिल के बीच एक वर्जनिंग संघर्ष है और मणि के पास क्या है?) कई, कई रत्न हैं जो मणि के माध्यम से उपलब्ध हैं जो कि एप्ट-गेट में नहीं हैं।
थफिर

यही कारण है कि मैं 'रेल' पर एक रेखा खींचता हूं। मैं रूबी सहित सब कुछ स्थापित करने के लिए apt-get का उपयोग करता हूं, फिर Bundler स्थापित करने के लिए मणि का उपयोग करता हूं, और आवश्यक रत्न संस्करण और सभी आवश्यक रत्नों को अपने Gemfile के अनुसार एक विशिष्ट रेल एप्लिकेशन को स्थापित करने के लिए बंडल करता हूं। आरंभ करने के लिए, मैं आमतौर पर 'रेल स्थापित' सिस्टम-वाइड के माध्यम से वर्तमान रेल संस्करण स्थापित करता हूं (यह चोट नहीं करता है लेकिन आवश्यक नहीं है)। हां, यह आपको काम करने के लिए केवल एक रूबी संस्करण देता है लेकिन यह अब तक कोई समस्या नहीं है।
जेन्स

1
थफिर, मेरी पोस्ट को फिर से पढ़ें। मैं रेल एप्लिकेशन में जवाहरात के लिए उपयुक्त का उपयोग नहीं कर रहा हूँ। मैं प्रत्येक ऐप के लिए एक अलग रत्न सेट के साथ बुंडलर का उपयोग करता हूं।
जेन्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.