2011-10-19 13 views
11

बंडलर का उपयोग करके आप Gemfile में कुछ इस तरह कर सकते हैं:क्या एक गिट भंडार से सीधे एक मणि स्थापित करना संभव है?

gem 'my_gem', :git => '[email protected]:me/my_gem.git' 

है कि रेपो में मणि बनाता है और यह स्थापित करता है। बहुत अच्छा काम करता है। क्या कमांड-लाइन मणि उपकरण का उपयोग करके ऐसा कुछ करना संभव है? कुछ इस तरह?

gem install my_gem --git="[email protected]:me/my_gem.git" 

जाहिर है कि आदेश काम नहीं करता है, लेकिन क्या ऐसा कुछ ऐसा करता है? मुझे पता है कि मैं रिपो क्लोन कर सकता हूं, gem build my_gem.gemspec चला सकता हूं और फिर gem install my_gem-1.2.3.gem चला सकता हूं। लेकिन मैं सोच रहा हूं कि कोई प्रत्यक्ष एक-लाइनर है जो दृश्यों के पीछे इन मध्यवर्ती चरणों को छुपाता है।

उत्तर

6

क्योंकि ठेठ Git संग्रह के विपरीत, GitHub जवाहरात बनाता है, अगर परियोजना GitHub पर होस्ट किया गया है और मणि पाया जाता है में source list तो आप GitHub अपने स्रोतों की सूची पर इस तरह जोड़ सकते हैं:

$ gem sources -a http://gems.github.com 

और उसके बाद बाद में जवाहरात स्थापित के रूप में एक ही चरण में वांछित, इस तरह:

$ sudo gem install username-projectname 

अन्यथा, कोई एक कदम समाधान है, और आप कुछ इस तरह करना होगा:

  1. डाउनलोड मणि ज़िप/टार फ़ाइल
  2. gem build <gemname>.gemspec
  3. sudo gem install <gemname>-x.x.x.gem
+0

मेरी मणि स्रोत सूची में नहीं है। यह एक निजी भंडार है। –

+1

और बाद का समाधान मुझे पहले से ही पता है, जैसा कि मैंने अपनी पोस्ट में उल्लिखित किया है। मैं बस सोच रहा था कि मणि कमांड के लिए एक लाइनर था या नहीं। शायद नहीं है। –

+0

आप एक शैल फ़ंक्शन लिख सकते हैं जिसे आपने तर्क पारित किया था। लेकिन, मुझे किसी भी स्लिम एक-लाइनर के बारे में पता नहीं है। –

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