हमारे समूह में कई लोग हैं, जिनमें से कोई भी रत्न के किसी भी संयोजन पर काम कर रहा है। वर्तमान में, हमारे Gemfile इस तरह सामान है:जेमफाइल: एकाधिक डेवलपर्स के लिए स्थानीय या दूरस्थ रत्नों को सशर्त रूप से घोषित करने का एक बेहतर तरीका
gem 'awesome-gem', :git => '[email protected]:somebody/awesome-gem.git'
# gem 'awesome-gem', :path => '/Users/developer-A/workspace/awesome-gem'
# gem 'rad-gem', :git => '[email protected]:somebody/rad-gem.git', :branch => 'release'
gem 'rad-gem', :path => '/some/path/specific-to/developer-B/rad-gem'
तो डेवलपर एक भयानक-मणि पर स्थानीय रूप से काम कर रहा था, और जब वे समाप्त हो गया, वे सिर्फ उनकी जगह ले ली: Git स्थान और संस्करण के लिए दोनों के लिए प्रतिबद्ध: मणि के पथ नियंत्रण। डेवलपर-बी और सी रेड-मणि के लिए एक ही काम करते हैं, प्रत्येक के पास एक अलग होता है: उनके स्थानीय रूप से संशोधित जेमफाइल में पथ और यदि जेमफाइल में वास्तविक परिवर्तन होते हैं, तो उन्हें अपने स्थानीय को पूर्ववत करना होगा: पथ सेटअप, प्रतिबद्ध, पीछे बिंदु करने के लिए पूर्ववत करें आदि रेड-मणि के स्थानीय संस्करण, के लिए
यह दोनों एक दर्द और बदसूरत, तो मैं एक बेहतर समाधान है, लेकिन सबसे अच्छा मैं के साथ आ सकता है कुछ इस तरह है के साथ आने की कोशिश की है:
if ENV['RADGEM_PATH']
gem 'rad-gem', :path => ENV['RADGEM_PATH']
else
gem 'rad-gem', :git => '[email protected]:somebody/rad-gem.git', :branch => 'release'
end
यह डेवलपर-बी और सी को ऊपर वर्णित दर्द को दूर करते हुए अपने स्वयं के रेड-मणि पथ को सेट करने की अनुमति देता है। हालांकि, यह अभी भी बदसूरत है और मैं सोच रहा हूं कि ऐसा करने का एक बेहतर तरीका है, संभवतः समूह का उपयोग करना?
दस्तावेज़ीकरण के लिए यूआरएल अब http://gembundler.com/v1.2/man/bundle-config.1.html#LOCAL-GIT-REPOS – cbliard
अब यह है: http://bundler.io/v1 .2/आदमी/बंडल-config.1.html # स्थानीय-GIT-Repos – sekrett