Ответ
Оба инструмента хороши, но выбор зависит от контекста:
NPM (по умолчанию с Node.js):
- Быстрее в последних версиях (начиная с npm@5)
- Лучше для маленьких проектов
- Проще для начинающих
Yarn:
- Более стабильный lock-файл (
yarn.lockстрожеpackage-lock.json) - Параллельная загрузка пакетов (быстрее в больших проектах)
- Оффлайн-кэш (можно работать без интернета)
Пример установки пакета:
# NPM
npm install lodash
# Yarn
yarn add lodash
Сейчас разница минимальна. Лично я выбираю yarn для больших проектов, npm — для быстрых прототипов. В 2024 году можно использовать любой — главное быть консистентным в проекте.