जवाबों:
मेरा मानना है कि आप ऐसा कर सकते हैं:
gem "foo", path: "/path/to/foo"
spring stopको देखने की कोशिश की जा रही है तो यह देखने की कोशिश करें कि क्या यह वास्तव में मुद्दा है।
पथ निर्दिष्ट करने के अलावा (जैसा कि जिमी ने उल्लेख किया है) आप निम्नलिखित विन्यास विकल्प का उपयोग करके केवल अपने वातावरण के लिए स्थानीय मणि का उपयोग करने के लिए बुंडलर को मजबूर कर सकते हैं :
$ bundle config local.GEM_NAME /path/to/local/git/repository
यदि आप दो रत्नों या एक मणि और एक रेल एप्लिकेशन को अगल-बगल विकसित कर रहे हैं तो यह बेहद मददगार है।
ध्यान दें कि, यह केवल तभी काम करता है जब आप पहले से ही अपनी निर्भरता के लिए git का उपयोग कर रहे हों, उदाहरण के लिए:
# In Gemfile
gem 'rack', :github => 'rack/rack', :branch => 'master'
# In your terminal
$ bundle config local.rack ~/Work/git/rack
BUNDLE_PATH(वितरण के लिए एक पैकेज का निर्माण)। जब आपने सुझाव दिया था, या जिमी का जवाब था, तो यह केवल एक करता है using, और वास्तव में मेरे BUNDLE_PATHफ़ोल्डर में स्थापित नहीं है । मैं यह पता लगाने में सक्षम नहीं था, कोई मदद?
bundle config --delete local.GEM_NAME
bundle config disable_local_branch_check trueहोगा या बुंडलर शाखा के बारे में शिकायत करेगा। हालांकि इसके साथ सावधानी बरतें, क्योंकि चेक गलत होने से रोकने के लिए माना जाता है Gemfile.lock। डॉक्स यहां: bundler.io/v1.12/git.html
यदि आप इस पर काम कर रहे हैं तो आप git के साथ एक स्थानीय रत्न भी देख सकते हैं।
gem 'foo',
:git => '/Path/to/local/git/repo',
:branch => 'my-feature-branch'
फिर, अगर यह बदलता है तो मैं चलता हूं
bundle exec gem uninstall foo
bundle update foo
लेकिन मुझे यकीन नहीं है कि सभी को इन दो चरणों को चलाने की आवश्यकता है।
bundle uninstall <gem> && bundle install आपके द्वारा अपने ऐप पर प्रतिबिंबित किए जाने वाले प्रत्येक परिवर्तन के लिए
रेल परियोजना में स्थानीय मणि भंडार का उपयोग करने के लिए, नीचे दिए गए चरणों का पालन करें:
जांचें कि क्या आपका मणि फ़ोल्डर एक गिट रिपॉजिटरी है (मणि फ़ोल्डर में कमांड निष्पादित किया गया है)
git rev-parse --is-inside-work-treeरिपॉजिटरी पथ प्राप्त करना (मणि फ़ोल्डर में कमांड निष्पादित होता है)
git rev-parse --show-toplevelरेल अनुप्रयोग के लिए एक स्थानीय ओवरराइड की स्थापना
bundle config local.GEM_NAME /path/to/local/git/repository
GEM_NAMEआपके रत्न का नाम कहां है और /path/to/local/git/repositoryबिंदु में कमांड का आउटपुट है2
अपने आवेदन Gemfileमें निम्नलिखित पंक्ति जोड़ें:
gem 'GEM_NAME', :github => 'GEM_NAME/GEM_NAME', :branch => 'master'रनिंग bundle installको कुछ इस तरह देना चाहिए:
Using GEM_NAME (0.0.1) from git://github.com/GEM_NAME/GEM_NAME.git (at /path/to/local/git/repository)
GEM_NAMEतुम्हारे मणि का नाम और /path/to/local/git/repositoryबिंदु कहां से है2
अंत में, दौड़ें bundle list, नहीं gem listऔर आपको कुछ इस तरह देखना चाहिए:
GEM_NAME (0.0.1 5a68b88)
GEM_NAMEतुम्हारे रत्न का नाम कहां है
कुछ महत्वपूर्ण मामले जिनका मैं उपयोग कर रहा हूं:
Rails 4.0.2
ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-linux]
Ubuntu 13.10
RubyMine 6.0.3
RubyMineहै कि स्थानीय रत्न बाहरी पुस्तकालय के रूप में नहीं दिख रहे हैं। बग के बारे में अधिक जानकारी यहां और यहां पाई जा सकती हैstop/startरेल सर्वर चाहिएअगर मैं versionमणि को बदल रहा हूं , stopping/startingतो रेल सर्वर मुझे एक त्रुटि देता है। इसे ठीक करने के लिए, मैं Gemfileइस तरह रेल के अनुप्रयोग में मणि संस्करण निर्दिष्ट कर रहा हूं :
gem 'GEM_NAME', '0.0.2', :github => 'GEM_NAME/GEM_NAME', :branch => 'master'आप स्रोत के source: 'https://source.com', git repository (:github => 'git/url')साथ और स्थानीय पथ के साथ रत्नों का संदर्भ दे सकते हैं :path => '.../path/gem_name'।
आप जेमफाइल्स के बारे में अधिक जान सकते हैं और उन्हें इस लेख में कैसे उपयोग कर सकते हैं ।