2015-12-16 6 views
5

मान लें कि मैं nuget.org पर एक NuGet पैकेज प्रकाशित करना चाहता हूं।NuGet पैकेज लेखकों को संस्करण नरक से कैसे बचें?

यह उदाहरण के लिए, न्यूटनसॉफ्ट.जेसन पर निर्भर करता है। इसलिए मैंने .nuspec में इस निर्भरता को सेट किया है और इसमें 1 के एन जेसन संस्करण संख्या (तर्क के लिए) शामिल हैं।

यदि एन..जेसन 2 पर चलता है, और मेरे पैकेज का उपयोग करने वाले लोग भी 2 पर जाते हैं, तो क्या वे अब एक अचार में हैं क्योंकि मेरा पैकेज 1 चाहता है और वे 2 का उपयोग कर रहे हैं?

संभवतः, मेरे पैकेज को पहले स्थान पर जोड़ने के लिए, उन्हें पहले से ही एन..जेसन स्थापित नहीं होना चाहिए था या यदि उन्होंने किया, तो मेरे पैकेज का सटीक संस्करण हो।

मुझे लगता है कि एक सटीक संस्करण निर्धारित करना बुरा है। इसलिए मैं संस्करण छोड़ देता हूं, लेकिन अब मेरा पैकेज भविष्य में तोड़ सकता है अगर एन..जेसन ने बदलाव तोड़ दिया है।

इसके बजाय, मैं अपने .nuspec में एक सीमा जोड़ता हूं और अब मैं वहां भाग रहा हूं।

लेकिन क्या मैंने अपने सभी ग्राहकों पर एक छत लगाई नहीं है कि वे एन जेसन का अधिकतम संस्करण किस प्रकार उपयोग कर सकते हैं?

क्या अब मुझे अपने पैकेज का उपयोग करने वाले पैकेजों के संस्करणों पर लगातार नजर रखने की आवश्यकता है और सुनिश्चित करें कि मैं अपने पूरे जीवन के लिए परीक्षण कर रहा हूं?

क्या NuGet.org पर कुछ सिस्टम है जो मुझे सतर्क कर सकता है कि मेरा पैकेज पीछे गिर गया है या अन्य लोगों के काम में ब्रेकर्स द्वारा प्रभावित हो सकता है?

क्या होगा यदि ग्राहक नवीनतम रूप से एन..जेसन को नवीनतम रूप से अपडेट करते हैं और अपडेट करते हैं, तो क्या यह स्पष्ट होगा कि मेरा पैकेज अवरोधक है?

स्थापित सर्वोत्तम अभ्यास क्या है?

उत्तर

1

मुझे विश्वास नहीं है कि nuget.org संस्करण प्रबंधन के साथ कोई मदद प्रदान करता है। आपको अपने पैकेज और आपके पैकेज निर्भरताओं को संस्करणित करने के लिए semver.org मार्गदर्शन का पालन करना चाहिए। इससे उन लोगों के लिए समस्या हो सकती है जिनके पास पहले से ही आपके आश्रित पैकेज का उच्च संस्करण स्थापित है। हालांकि, कुछ भी आपको एक साथ कई संस्करण स्थापित करने से रोकता है।

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