npm, Node.js का मानक पैकेज मैनेजर है। हालांकि, फेसबुक कुछ समय से Yarn नामक एक वैकल्पिक पैकेज प्रबंधन समाधान विकसित कर रहा है। GitHub की README फ़ाइल से Yarn का डिफ़ॉल्ट समाधान के रूप में उपयोग धीरे-धीरे कम होता जा रहा है, और आधिकारिक वेबसाइट के आँकड़े बताते हैं कि बहुत कम पैकेज इंस्टॉलेशन Yarn के माध्यम से किए जाते हैं। फिर भी, इसके बारे में और गहराई से जानना ज़रूरी है।
Yarn मौजूदा package.json फ़ाइलों के साथ पूरी तरह से संगत है, इसलिए आप मौजूदा प्रोजेक्ट्स में दोनों समाधानों का आसानी से उपयोग कर सकते हैं। दोनों समाधानों के लिए कमांड में मामूली अंतर है। नीचे सबसे महत्वपूर्ण कमांड की तुलना दी गई है।:
| विवरण | NPM | धागा |
| प्रारंभ | एनपीएम init | यार्न init |
| अपडेट करें | npm स्थापित -g npm | यार्न स्व-अद्यतन |
| पैकेज स्थापित करे | npm स्थापित करें - सेव [नाम] | यार्न जोड़ना [नाम] |
| पैकेज स्थापित करे | npm स्थापित करें -सेव-देव [नाम] | यार्न जोड़ें --देव [नाम] |
| विश्व स्तर पर पैकेज स्थापित करें | npm स्थापित -g [नाम] | यार्न ग्लोबल ऐड [नाम] |
| सभी पैकेज स्थापित करें | npm स्थापित करें | यार्न स्थापित करें |
| सभी पैकेजों को अपडेट करें | एनपीएम अपडेट | यार्न अपग्रेड |
| पैकेज की स्थापना रद्द करें | npm निकालें [नाम] | यार्न हटा [नाम] |
Npm की कुछ कमियों को दूर करने के लिए Yarn को डिज़ाइन किया गया था। सबसे स्पष्ट अंतर इसका बेहतर प्रदर्शन है: इंक्रीमेंटल इंस्टॉलेशन, मल्टीथ्रेडिंग और नवीनतम शानदार फ़ीचर , प्लग एंड प्ले (PNP), प्रदर्शन को नाटकीय रूप से बढ़ाते हैं। प्लग एंड प्ले प्रोजेक्ट-आधारित `node_modules` फ़ोल्डर की आवश्यकता को समाप्त करता है, जिसमें फ़ाइलों की संख्या अक्सर बहुत अधिक बढ़ जाती है। अधिक जानकारी आधिकारिक प्लग एंड प्ले श्वेतपत्र में पाई जा सकती है। हम eslint को पहले npm और फिर Yarn के साथ इंस्टॉल करेंगे, दोनों ही बार वार्म-अप कैश के साथ, ताकि गति में अंतर (6 गुना!) स्पष्ट रूप से प्रदर्शित हो सके।:

