2013-06-19 11 views
27

बोवर डॉक्स कहते हैंबॉवर घटकों में क्यों जांचें?

एनबी। यदि आप किसी पैकेज को संलेखित नहीं कर रहे हैं जिसका उद्देश्य दूसरों द्वारा उपभोग किया जाना है (उदाहरण के लिए, आप एक वेब ऐप बना रहे हैं), तो आपको हमेशा स्थापित नियंत्रण पैकेज को स्रोत नियंत्रण में देखना चाहिए।

किसी को भी क्यों के लिए एक अच्छा जवाब है?

मैं एक वेब अनुप्रयोग मैं अपने रेपो पुस्तकालय एक्स के संस्करण में अद्यतन

मैं सिर्फ bower.json निर्भरता को अपडेट करना चाहते से भरा नहीं करना चाहती बनाने रहा है। मुझे लगता है कि ज्यादातर परियोजनाओं में एक निर्माण कदम या समान होगा, उदाहरण के लिए ग्रंट के साथ। बिल्ड चरण बिल्डिंग से पहले बॉवर इंस्टॉल/अपडेट को कॉल करना सुनिश्चित करेगा, ताकि वे फ़ाइलें कॉन्सट/मिलिफिकेशन इत्यादि के लिए मौजूद हों या यहां तक ​​कि कुछ डिस्ट फ़ोल्डर में एक सादा प्रतिलिपि भी हो।

क्या मुझे कुछ याद आ रही है?

उत्तर

28

यह अपने निर्भरता को लॉक करने के लिए इसलिए यदि आपका एप्लिकेशन या दूरदराज के नीचे जा रहा है को रोकने तैनाती तोड़ने से एक बुरा निर्भरता को रोकने के लिए है। यह तब भी हो सकता है जब आपके पास एक बिल्ड चरण हो, क्योंकि आप शायद हर निर्माण पर पूरी तरह से परीक्षण नहीं करते हैं, और स्वचालित परीक्षण सब कुछ नहीं पकड़ते हैं, खासकर दृश्य प्रतिगमन नहीं। इसके अलावा कई डेवलपर निर्भरता के विभिन्न संस्करण हो सकते हैं। निर्भरताओं को पूरा करके आप सुनिश्चित करते हैं कि हर कोई एक ही संस्करण पर रहता है। मुझे लगता है कि निर्भरता पेड़ में कुछ भी दुर्भावनापूर्ण पेश नहीं किया गया है यह सुनिश्चित करने के लिए diff एक अच्छा तरीका है।

नोड दुनिया npm shrinkwrap में आंशिक रूप से इस को हल करती है, लेकिन अभी तक जांच योग मिलान नहीं करता है। वर्तमान में बोवर को कार्यान्वित करने के लिए ticket खुला है।

आप इस ब्लॉग पोस्ट में इसके बारे में अधिक पढ़ सकते हैं: Checking in front-end dependencies

+0

हाँ मुझे लगता है कि मैंने सोचा था कि मैं ~ 1.2.3 या इसी तरह के बजाय 1.2.3 का उपयोग कर सकता हूं। (या यह ठीक है अगर मैं लाइब्रेरी पर सेमेवर का उपयोग करने पर भरोसा करता हूं) लेकिन मुझे लगता है कि लाइब्रेरी एक्स में इसके बॉवर में है। जेसन लाइब्रेरी वाई के लिए एक निर्भरता है और> = 2.3.4 या इसी तरह का उपयोग करता है तो मैं परेशानी में हूं। एक shrinkwrap सुविधा के लिए तत्पर हैं। –

+3

हां, और संस्करणों को लॉक करना, यहां तक ​​कि गहरा, पर्याप्त नहीं है क्योंकि टैग और संस्करण ओवरराइड हो सकते हैं। यही कारण है कि 'एनपीएम सिकंक्रैप' को डिप्टी के चेकसम मिलान की ज़रूरत है और यही वह है जो हम शुरुआत से बोवर सिकंक्रैप में चाहते हैं। –

+0

यह गेम विकास के लिए एक ही तर्क है। आप हर समय संकुल को अपग्रेड नहीं करते हैं, इसलिए तैनाती या निर्माण में देरी को रोकने के लिए उन्हें किसी विशेष संस्करण पर फ्रीज या "सिकुड़वाड़" करने का अर्थ होता है। –

0

इस उत्तर गैर तकनीकी है, लेकिन एक व्यावहारिक कारण बोवर घटकों में जांच नहीं करने के लिए।

मैं नहीं बल्कि बोवर संकुल की सलाह देते हैं bower.json में नहीं बल्कि इन पैकेजों में जाँच से नीचे बंद कर दिया जाए। क्योंकि मेरा विश्वास करो, आपके पास कंप्यूटर में हजारों फ़ाइल डाउनलोड और अनपॅकिंग नहीं हो सकती है। धीमे प्रदर्शन करने वाले कंप्यूटरों में बहुत बड़ी और गहरी फ़ाइल पथों के साथ समस्या है। और इंटरनेट की इस दुनिया में, मेरा मानना ​​है कि उन्हें ले जाने के बजाय पैकेज डाउनलोड करना हमेशा आसान होता है।

यह प्राथमिकता का सिर्फ एक मामला है। यह सब अनुभव से आता है। मैंने जिथूब पर बोवर घटकों के साथ एक परियोजना में जांच की है और अपलोड और डाउनलोड करते समय यह बदतर है। मैंने इसे अपेक्षाकृत नए मैक के माध्यम से किया।

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