2012-07-19 18 views
7

मैं रूबी के लिए नया हूं और एक मणि के रूप में पैक किए गए कुछ रूबी ऐप को डीबग करने की आवश्यकता है।पाइथन setup.py के रूबी समकक्ष क्या है?

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

यह पाइथन से परिचित लोगों के लिए python setup.py develop के बराबर है।

Setuptools आपको एक सामान्य निर्देशिका या स्टेजिंग क्षेत्र में उपयोग के लिए अपनी परियोजनाओं को तैनात करने की अनुमति देता है, लेकिन किसी भी फाइल को कॉपी किए बिना। इस प्रकार, आप

https://pythonhosted.org/setuptools/setuptools.html#development-mode

उत्तर

7

हाँ अपने चेकआउट निर्देशिका में प्रत्येक परियोजना के कोड को संपादित कर सकते हैं, तो आप कर सकते हैं।

Bundler देखें। इसका उपयोग करने के लिए यह वास्तविक तथ्य है।

+0

मैंने एक बंडलर देखा, और निम्नलिखित किया: पहला, आरवीएम के अंदर एक नया रत्न बनाएं, फिर मणि इंस्टॉल करें बंडलर, और फिर बंडलर इंस्टॉल करें। यह अपेक्षित सभी निर्भरताओं को स्थापित करता है, लेकिन जब मैं वास्तव में एप्लिकेशन चलाने की कोशिश करता हूं तो मैंने बंडल इंस्टॉल किया, मुझे एक ट्रेसबैक मिल गया। यकीन नहीं है कि यह मेरे आरवीएम/जेमसेट/जो कुछ भी मेरे उपयोग से आ रहा है। ट्रेसबैक कुछ है "/Users/cournape/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rbs47:in 'to_specs': कुछ नहीं मिला योनि (> = 0) के बीच [...] (वानर ऐप है जिसे मैं देख रहा हूं) –

+0

एचएम। आप कैसे योनि चला रहे हैं? अगर आपने इसे चेक आउट किया है, तो इंस्टॉल करने के बाद, आपको सक्षम होना चाहिए 'बिन/योनेंट' करें और जिस कोड को आपने अभी चेक आउट किया है उसे चलाएं। आप 'बंडल निष्पादन बिन/योनेंट' भी कर सकते हैं, जो कि बेहतर होना चाहिए, हालांकि रत्न को इसे अप्रासंगिक बनाना चाहिए ('बंडल निष्पादन' उपलब्ध रत्नों को सैंडबॉक्स 'Gemfile.lock' में, लेकिन यदि आपके पास ताजा रत्न है, तो यह वही होना चाहिए) –

+0

मुझे लगता है कि मैंने कुछ गलत किया है, मुझे अब समस्या नहीं दिखाई दे रही है। किसी भी मामले में, बंडल का उपयोग करने की आपकी सलाह निष्पादन पूरी तरह से काम करता है। धन्यवाद –

0

पिछले उत्तर के अतिरिक्त।

कभी-कभी रत्न/पैकेज निष्पादन योग्य प्रदान करते हैं। python setup.py develop के साथ अच्छी बात यह है कि आपके पास हमेशा आपके पथ में उस निष्पादन योग्य का नवीनतम संस्करण होगा। यह विकास के लिए आसान है। जहां तक ​​मुझे पता है कि मणि ऐसी कार्यक्षमता प्रदान नहीं करता है। अनुकरण करने के लिए है कि आप Bundler उपयोग कर सकते हैं और यह कैसे है: एक नया Gemfile

  • सबसे पहले बनाने के लिए: bundle init
  • फिर उस फ़ाइल को संपादित और स्थानीय रत्न आप पर काम कर रहे जोड़ने (मेरे लिए यह Nanoc है): gem "nanoc", path: "path/to/local/nanoc"bundle exec nanoc ...

यहाँ bundle exec अपने Gemfile से रत्न संस्करण लेगी और उसका उपयोग करेगा:

  • फिर रत्न द्वारा प्रदान की निष्पादन योग्य कि जिस तरह से उपयोग करने के लिए बंडलर आप उपयोग कर सकते हैं। यदि वह मणि :path विकल्प के साथ निर्दिष्ट है तो यह उस पर उपयोग करेगा।

    यह निश्चित रूप से कम सुविधाजनक है कि पाइथन में लेकिन यह रूबी में पाया जाने वाला सबसे नज़दीकी समाधान है।

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