2013-04-19 3 views
5

मैंने एक निजी मणि बनाया है जिसे मैंने स्वयं होस्ट किया है। जब तक किसी ने rubygems.org पर उसी नाम के साथ एक मणि नहीं बनाया है तब तक सबकुछ बढ़ रहा था। चूंकि rubygems.org मेरे मणि सर्वर यूआरएल पर सबसे ज्यादा प्राथमिकता है। मैं अब अपने मणि को स्थापित करने में सक्षम नहीं हूं। मैं rubygems स्रोत को दूर करने की कोशिश की:रुबीगम स्रोतों के पढ़ने के क्रम को बदलना

$ sudo gem source -r http://rubygems.org 

और इसे पुनः स्थापित तो यह मणि स्रोत सूची में के बाद आता है, लेकिन यह काम नहीं करता।

क्या मणि स्रोत के लुकअप ऑर्डर को बदलने का कोई तरीका है?

ध्यान दें कि मैं अपने मणि का नाम बदलना नहीं चाहता हूं।

gem install specific_install gem specific_install -l <git-url>

एक और तरीका है स्पष्ट रूप से ऐसा तरह मणि सर्वर राज्य के लिए है:

gem install mygem -s http://gems.example.com

सबसे अच्छा विकल्प, मेरी राय में, है

+0

मुझे यकीन नहीं है कि यह काम करेगा, लेकिन आप अपनी '.gemrc' फ़ाइल को मैन्युअल रूप से संपादित करने और वहां स्रोतों के क्रम को बदलने का प्रयास कर सकते हैं। – matt

उत्तर

2

आप specific_install मणि कोशिश कर सकते हैं बंडलर का उपयोग करने के लिए। अपने Gemfile में जोड़ें:

gem 'mygem', :git => 'git://git.example.com/myrepo.git'

+0

धन्यवाद, मैंने कोशिश की: 'मणि mygem -s http: // gems.example.com' इंस्टॉल करें और यह काम नहीं करता है। मुझे बाद में काम करने के लिए मिला, लेकिन मुझे नहीं पता क्यों। एक कैश मुद्दा हो सकता है। – Martinos

+0

तो क्या यह काम करता है या नहीं? –

+0

मैं अपने मणि को स्थापित करने का आदेश देता हूं, मुझे 'स्रोत स्रोत-http: // rubygems.org' था, फिर' gem इंस्टॉल mygem -s http: // gems.example.com'। और फिर http://rubygems.org वापस जोड़ना। मैं सोच रहा हूं कि कैश को साफ करने का एक बेहतर तरीका है या नहीं। – Martinos

3

ऐसा लगता है कि आप एक खाली मणि कैश नहीं हो सकता। यदि आप कैश को मैन्युअल रूप से gem source -r http://rubygems.org से हटाते हैं, और कोई अन्य स्रोत परिभाषित नहीं किया गया है, तो यह स्वचालित रूप से दोहराया जाता है। वास्तव में एक कष्टप्रद misfeature की तरह।

मेरे लिए चाल मेरे स्रोत (एक आंतरिक सर्वर) को जोड़ने और फिर मैन्युअल रूप से rubygems पढ़ रहा था।

$ gem source add http://internal-server/ 
$ gem source 
*** CURRENT SOURCES *** 

http://rubygems.org/ 
http://internal-server/ 
$ gem source -r http://rubygems.org/ 
$ gem source 
*** CURRENT SOURCES *** 

http://internal-server/ 
$ gem source -a http://rubygems.org/ 
$ gem source 
*** CURRENT SOURCES *** 

http://internal-server/ 
http://rubygems.org/ 
+0

उत्तर के लिए धन्यवाद, लेकिन मेरे पास अब कोई समस्या नहीं है क्योंकि मैं उस परियोजना पर काम नहीं कर रहा हूं जिस पर मैं था। अगर मुझे कभी भी समस्या आती है तो मैं आपके समाधान का प्रयास करूंगा और आपको कुछ फीडबैक दूंगा। – Martinos

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