npm مدیر بسته پیش فرض Node.js است. فیس بوک مدت هاست که در حال توسعه یک راه حل جایگزین مدیریت بسته به نام Yarn است. به نظر می رسد که Yarn به آرامی از Readmes GitHub به عنوان راه حل پیش فرض ناپدید می شود و آمار در سایت رسمی نشان می دهد که تنها کسری از نصب بسته با Yarn انجام می شود. با این وجود، ارزش نگاه کردن به بیرون از جعبه را دارد.
Yarn کاملاً با فایلهای package.json موجود سازگار است، بنابراین میتوانید به راحتی از هر دو راهحل در پروژههای موجود استفاده کنید. دستورات این دو راهحل فقط کمی متفاوت هستند. در زیر مقایسهای از مهمترین دستورات آورده شده است.:
| شرح | npm | نخ |
| مقداردهی اولیه | npm شروع | نخ آغاز |
| به روز رسانی | npm نصب -g npm | نخ به روز رسانی خودکار |
| بسته را نصب کنید | npm نصب کنید - ذخیره [نام] | نخ اضافه کردن [نام] |
| بسته را نصب کنید | npm نصب کنید --save-dev [نام] | نخ اضافه کنید --dev [نام] |
| بسته را به صورت جهانی نصب کنید | npm نصب -g [نام] | نخ جهانی افزودن [نام] |
| همه بسته ها را نصب کنید | npm نصب کنید | نخ نصب کنید |
| همه بسته ها را به روز کنید | به روز رسانی npm | نخ ارتقا دهید |
| بسته را پاک کنید | npm حذف [نام] | نخ حذف [نام] |
Yarn با هدف حل برخی از نقاط درد npm شروع شد. واضح ترین تفاوت عملکرد بالاتر است: از طریق نصب های افزایشی، چند رشته ای و آخرین ویژگی کشنده Plug'n'Play (PNP)، عملکرد به طور چشمگیری افزایش می یابد. Plug'n'Play ایده پوشه node_modules مبتنی بر پروژه را رد می کند، که اغلب می تواند به ارتفاعات نجومی در تعداد فایل ها برسد. میتوانید در مقاله رسمی Plug'n'Play در مورد این موضوع اطلاعات بیشتری کسب کنید. ما اسلینت را یک بار با npm و سپس با نخ با کش گرم شده در هر مورد نصب می کنیم تا تفاوت سرعت مشخص شود (6 برابر!):

