शुरुआती लोगों के लिए एक बेहतर अवलोकन देने की कोशिश कर रहा है।
npm ऐतिहासिक रूप से (2010) जावास्क्रिप्ट के लिए सबसे लोकप्रिय पैकेज मैनेजर रहा है। यदि आप इसे अपने प्रोजेक्ट की निर्भरता के प्रबंधन के लिए उपयोग करना चाहते हैं, तो आप निम्न कमांड टाइप कर सकते हैं:
npm init
यह एक package.json
फ़ाइल उत्पन्न करेगा । इसमें परियोजना की सभी निर्भरताएँ शामिल हैं।
फिर
npm install
एक निर्देशिका बनाएगा node_modules
और उसके अंदर निर्भरताएं (जिसे आपने package.json
फ़ाइल में जोड़ा है ) डाउनलोड करेगा।
यह एक package-lock.json
फाइल भी बनाएगा । इस फ़ाइल का उपयोग निर्भरता के पेड़ का वर्णन करने के लिए किया जाता है जो उत्पन्न हुआ था। यह विकासात्मक रूप से समान निर्भरता को स्थापित करने की अनुमति देता है। उदाहरण के लिए, आप एक वी 2 के लिए एक निर्भरता को अपग्रेड करने वाले वी 2 और फिर वी 3 की कल्पना कर सकते हैं जबकि एक दूसरे को सीधे वी 3 में अपग्रेड कर सकते हैं।
एनपीएम एक गैर-निर्धारक तरीके से निर्भरता स्थापित करता है जिसका अर्थ है कि दो विकासकर्ता एक अलग node_modules
निर्देशिका हो सकते हैं जिसके परिणामस्वरूप विभिन्न व्यवहार हो सकते हैं । ** npm को फरवरी 2018 में उदाहरण के लिए खराब प्रतिष्ठा का सामना करना पड़ा है: संस्करण 5.7.0 में एक समस्या का पता चला था जिसमें लिनक्स सिस्टम पर sudo npm चलाने से सिस्टम फ़ाइलों का स्वामित्व बदल जाएगा, जो स्थायी रूप से ऑपरेटिंग सिस्टम को तोड़ देगा।
उन समस्याओं और दूसरों को हल करने के लिए फेसबुक एक नया पैकेज प्रबंधक शुरू की : (2016) यार्न एक तेजी से, अधिक सुरक्षित रूप से, और अधिक मज़बूती प्रबंधक जावास्क्रिप्ट के लिए पैकेज।
आप टाइप करके किसी प्रोजेक्ट में यार्न जोड़ सकते हैं :
yarn init
यह एक package.json
फाइल बनाएगा । उसके बाद, निर्भरताएँ स्थापित करें:
yarn install
एक फ़ोल्डर node_modules
उत्पन्न किया जाएगा। यार्न एक फ़ाइल भी उत्पन्न करेगा जिसे कहा जाता है yarn.lock
। यह फ़ाइल उसी उद्देश्य को पूरा करती है, package-lock.json
लेकिन इसके बजाय एक नियतात्मक और विश्वसनीय एल्गोरिथ्म का उपयोग करके निर्माण किया जाता है जिससे इस प्रकार निरंतर निर्माण होता है।
यदि आपने npm के साथ एक परियोजना शुरू की है , तो आप वास्तव में आसानी से यार्न की ओर पलायन कर सकते हैं। यार्न उसी का उपभोग करेगा package.json
। अधिक जानकारी के लिए npm से माइग्रेट करना देखें ।
हालांकि, NPM प्रत्येक नए रिलीज के साथ सुधार किया गया है और कुछ परियोजनाओं अभी भी उपयोग करता NPM से अधिक यार्न ।