npm — це стандартний менеджер пакетів для Node.js. Facebook давно розробляє альтернативне рішення для керування пакетами під назвою Yarn . Yarn, схоже, повільно зникає з файлів читання GitHub як рішення за замовчуванням, а статистика на офіційному сайті показує, що лише незначна частина інсталяцій пакунків виконується за допомогою Yarn. Тим не менш, варто дивитися нестандартно.
Yarn повністю сумісний з існуючими файлами package.json, тому ви можете легко використовувати обидва рішення в існуючих проектах. Команди для двох рішень відрізняються лише незначно. Нижче наведено порівняння найважливіших команд.:
| Опис | нм | Пряжа |
| Ініціалізувати | npm init | пряжа ініція |
| Оновлення | npm встановити -g npm | самообновлення пряжі |
| Встановити пакет | npm встановити --save [ім'я] | пряжа додати [ім'я] |
| Встановити пакет | npm встановити --save-dev [ім'я] | пряжа додати --dev [ім'я] |
| Встановіть пакет глобально | npm встановити -g [ім'я] | пряжа глобальне додавання [ім’я] |
| Встановіть усі пакунки | npm встановити | встановити пряжу |
| Оновіть всі пакети | npm оновлення | оновлення пряжі |
| Видаліть пакет | npm видалити [ім'я] | пряжа видалити [назва] |
Yarn розпочався з метою вирішення деяких проблемних моментів npm. Найбільш очевидною відмінністю є вища продуктивність: завдяки поетапним інсталяціям, багатопотоковості та новітній вбивчій функції Plug'n'Play (PNP) продуктивність різко зростає. Plug'n'Play відкидає ідею папки node_modules на основі проекту, яка часто може досягати астрономічних висот у кількості файлів. Ви можете дізнатися більше про це в офіційному документі Plug'n'Play . Ми встановлюємо eslint один раз за допомогою npm, а потім за допомогою пряжі з прогрітим кеш-пам’яттю в кожному випадку, щоб зробити різницю в швидкості чіткою (6x!):

