2013-05-24 5 views
5

मेरे संगठन में कई इन-हाउस रत्न हैं जिनका उपयोग स्वचालित परीक्षण में किया जाता है, लेकिन उत्पादन परिनियोजन के लिए आवश्यक नहीं हैं। मैं Bundler उपयोग करने के लिए कोशिश कर रहा हूँ और इसलिए मेरे Gemfile में मैं में उन जवाहरात लपेटा गया है:बंडलर को उन रत्नों को अनदेखा करने के लिए कैसे बताना है जो मौजूद नहीं हैं?

group :test, :development do 
    gem 'dashboard_summary' 
end 

हालांकि, जब मैं चलाएँ:

$ bundle install --without staging development test 

मैं अभी भी

Could not find gem 'dashboard_summary (>= 0) ruby' in the gems available on this machine. 

मैं मैं समझने की कोशिश कर रहा हूं कि क्यों बंडलर उस मणि को अनदेखा नहीं कर रहा है जब मैंने इसे बताया था।

+0

अपनी 'Gemfile' पोस्ट करें। 'dashboard_summary' किसी अन्य मणि – draxxxeus

+0

के लिए निर्भरता हो सकता है आप 'dashboard_summary' मणि निर्दिष्ट कैसे कर रहे हैं? क्या आपके पास एकाधिक 'स्रोत' रेखाएं हैं, यदि हां, तो आप अपने आंतरिक भंडार से त्रुटियों से कैसे बच रहे हैं जो उत्पादन में उपलब्ध नहीं है? – matt

उत्तर

4

यह व्यवहार की उम्मीद है। the docs से:

--without विकल्प छोड़ जबकि होगा निर्दिष्ट समूहों में जवाहरात स्थापित करने, यह अभी भी डाउनलोड उन जवाहरात होगा और अपने (5) Gemfile में हर मणि की निर्भरता को हल करने के लिए उन्हें का उपयोग करें।

एक जबकि तारीख Gemfile.lock अप करने के लिए सुझाव देना चाहेंगे कि निर्भरता फिर से हल किया जा की जरूरत नहीं है, यह सब जवाहरात इस मामले में भी डाउनलोड कर रहे हैं की तरह लग रहा है।

+0

मुझे यकीन नहीं है कि 'इंस्टॉलिंग' और 'डाउनलोडिंग' के बीच भेद क्या है। मैंने सोचा कि रूबी का अर्थ है। क्या बंडलर में एक सुविधा है जो मेरा लक्ष्य प्राप्त करेगी (यानी।उत्पादन में कुछ रत्नों को पूरी तरह से अनदेखा कर रहे हैं?) – spierepf

+0

स्थापित करने से डाउनलोड किए गए मणि पैकेज को उचित स्थान पर निकाला जाएगा और यदि आवश्यक हो तो सी-एक्सटेंशन संकलित करें। इस तरह यह 'मणि सूची' में है और आप इसे 'आवश्यकता' कर सकते हैं। –

2

आपने स्टेजिंग, विकास और परीक्षण सहित किसी भी समूह को परिभाषित नहीं किया है। आपके समूह में केवल परीक्षण और विकास था।

Bundler एक समूह है जो इसे में सभी तीन नाम है अनदेखी करने के लिए आप उपयोग कर सकते

$ bundle install --without test development 
2

मुझे यकीन है कि नहीं कर रहा हूँ कोशिश कर रहा है, तो आप

group :test, :development, :staging do 
    gem 'dashboard_summary' 
end 

करने के मंचन जोड़ सकते हैं या तुम क्यों वहाँ staging है? लेकिन यह काम

bundle install --without test development 

तुम भी config वातावरण चर bundle config में BUNDLE_WITHOUT में दस्तावेज तैयार कर सकते हैं चाहिए।

आप इस्तेमाल कर सकते हैं

gem 'dashboard_summary', require: false 

इससे स्टार्टअप पर मणि लोड नहीं होगा और आप इसे की आवश्यकता के लिए जब आप मणि उपयोग करना चाहता था होगा। यह आपकी मदद कर सकता है अगर आपको निर्भरता के कारण अपने Gemfile में dashboard_summary रखने की आवश्यकता है, लेकिन लोड करने में लगने वाले समय को बचाएं और अब आपको जो त्रुटि मिल रही है उसे प्राप्त न करें। कोशिश करने के लिए कम से कम कुछ है।

+0

यह मुझे एक ही त्रुटि देता है। – spierepf

+0

ऐसा लगता है कि 'dashboard_summary' अन्य मणि (ओं) के लिए निर्भरता है। उस स्थिति में, आप इसे अनदेखा नहीं कर सकते हैं। – fontno

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

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