जवाबों:
मेरा मानना है कि आप ऐसा कर सकते हैं:
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'
।
आप जेमफाइल्स के बारे में अधिक जान सकते हैं और उन्हें इस लेख में कैसे उपयोग कर सकते हैं ।