जवाबों:
हाँ, जब आप ऐसा करते हैं gem install, तो यह वर्तमान निर्देशिका को पहले खोजेगा, इसलिए यदि आपकी .gem फ़ाइल वहाँ है, तो वह उसे उठा लेगा। मुझे यह मणि संदर्भ पर मिला , जिसे आप भी देख सकते हैं:
रत्न स्थापित नाम रत्न स्थापित करेगा। यह एक स्थानीय इंस्टालेशन (अर्थात वर्तमान डायरेक्टरी में एक .gem फ़ाइल) का प्रयास करेगा, और यदि वह विफल हो जाता है, तो यह आपके द्वारा इच्छित मणि के सबसे हाल के संस्करण को डाउनलोड और इंस्टॉल करने का प्रयास करेगा।
Gemfileनहीं है .gem। तो यह .gemफाइल क्या है ? इसमें क्या होना चाहिए? - रुको - मैं देखता हूं। आप एक gem-name.gemफ़ाइल का मतलब है । याद रखें कि यूनिक्स पर फ़ाइल का '' से शुरू होना बहुत सामान्य है। तो यह बेहतर है इसे बाहर वर्तनी।
इसके अलावा, आप उपयोग कर सकते हैं gem install --local path_to_gem/filename.gem
यह सामान्य मणि भंडार स्कैन को छोड़ देगा जो तब होता है जब आप छोड़ देते हैं --local।
आप के साथ अन्य जादू पा सकते हैं gem install --help।
यदि आप अपने रत्नों को बंडल के साथ बनाते हैं:
# do this in the proper directory
bundle gem foobar
उनके लिखे जाने के बाद आप उन्हें रेक के साथ स्थापित कर सकते हैं:
# cd into your gem directory
rake install
संभावना है, कि आपके डाउनलोड किए गए मणि को rake installभी पता चल जाएगा ।
यदि आप एक रत्न के स्थानीय रूप से संशोधित कांटा पर काम करना चाहते हैं, तो ऐसा करने का सबसे अच्छा तरीका है
gem 'pry', path: './pry'
एक रत्न में।
... जहाँ ./pryआपके भंडार का क्लोन होगा। बस bundle installएक बार चलाएं , और आपके द्वारा किए गए रत्न स्रोतों में कोई भी बदलाव तुरंत परिलक्षित होता है। इसके साथ gem install pry/pry.gem, स्रोत अभी भी स्थानांतरित किए गए हैं GEM_PATHऔर आपको हमेशा परीक्षण bundle gem pryऔर gem updateपरीक्षण दोनों चलाने होंगे ।
उस मार्ग पर जाएं जहां मणि है और बुलाओ gem install -l gemname.gem
खैर, यह मेरी DRY स्थापना है:
[Ruby Installation version]/lib/ruby/gems/[Ruby version]/cache)*.gemsखुद मणि कैश जगह में जवाहरात के बिना एक कंप्यूटर पर फ़ाइलें" (डिफ़ॉल्ट रूप से पहला कदम का एक ही संरक्षक पथ: [Ruby Installation version]/lib/ruby/gems/[Ruby version]/cache)[Ruby Installation version]/lib/ruby/gems/[Ruby version]/cache) में स्थित होना चाहिए और आग लगा सकते हैं gem install anygemwithdependencieshere(उदाहरण के लिए cucumber-2.99.0)यह डीआरवाई है क्योंकि किसी भी मणि को स्थापित करने के बाद, डिफ़ॉल्ट रूबिजम द्वारा मणि फ़ाइल को कैश मणि निर्देशिका में डाल दिया जाता है और यह समझ में नहीं आता है कि डुप्लिकेट थैला फाइलें, यह अधिक आसान है यदि आप चाहते हैं कि दोनों कंप्यूटरों में एक ही संस्करण हो (या पैरानोइक सुरक्षा नियमों के अनुसार: v)
संपादित करें: रूबी या रूबीज के कुछ संस्करणों में, यह काम नहीं करता है और अलर्ट या त्रुटि नहीं करता है, आप अन्य जगह पर रत्नों को रख सकते हैं, लेकिन डीआरवाई नहीं प्राप्त कर सकते हैं, अन्य विकल्प लॉन्च एकीकृत कमांड का उपयोग कर रहे हैं
gem serverऔर मणि स्रोतों में लोकलहोस्ट यूआरएल को जोड़ सकते हैं, अधिक जानकारी में: https://guides.rubygems.org/run-your-own-gem-server/
आप https://rubygems.org/gems/ से रत्न डाउनलोड कर सकते हैं या बंडल और रैक के माध्यम से स्थानीय रत्न बना सकते हैं।
उदाहरण के लिए:
वास्तविक रत्न स्थापित करने से पहले निर्भरता स्थापित करने का ध्यान रखें।
नोट: यदि धाराप्रवाह td- एजेंट और रूबी का उपयोग एक ही मशीन पर किया जाता है। कृपया td-Agent के td-Agent-gem कमांड का उपयोग करना सुनिश्चित करें। td- एजेंट की अपनी रूबी है।