Сравнение менеджеров пакетов Node.js

Привет, ребята!
Меня зовут amiria703. Веб-разработчик-любитель.

Как фронтенд-разработчик, я часто работаю с менеджером пакетов, чтобы добавлять пакеты в свои проекты и управлять ими.

В этой статье я собираюсь показать вам некоторые плюсы и минусы трех основных менеджеров пакетов для Node.js.

Примечание. Большая часть этой статьи — личные мысли автора. Не выбирайте что-либо на основе подобных статей, носите кроссовки и ищите!

НПМ

Node Package Manager (более известный под аббревиатурой NPM) является основным менеджером пакетов. Node.js.

Плюсы:

  • Он предустановлен вместе с Node.js.
  • Поскольку это основной менеджер пакетов Node.js, многие проекты и команды основаны на NPM.

Минусы:

  • Он использует слишком много места на диске и Интернета по сравнению с PNPM.
  • В большинстве случаев вы паникуете или не знаете, что он делает.

Пряжа

Диспетчер пакетов Yarn, разработанный сообществом.

Плюсы:

  • Описывает себя как безопасный и быстрый менеджер пакетов корпоративного уровня.
  • Он используется во многих популярных и корпоративных проектах.
  • Его поддерживает большое сообщество, поэтому для него разрабатывается множество плагинов и инструментов.

Минусы:

  • По умолчанию он не установлен, и вам нужно установить его вручную.
  • Он использует слишком много места на диске и Интернета по сравнению с PNPM.
  • Его команды CLI и среда отличаются от NPM.

В прошлый раз, когда я использовал Yarn Berry (версия 2) в старом проекте, он потерпел неудачу; В то время я вернулся к Yarn Classic (версия 1) для этого проекта.

ПНПМ

Performant NPM (более известный под аббревиатурой PNPM) — это альтернативный менеджер пакетов для Node.js.

Плюсы:

  • До 2 раз быстрее, чем NPM и Yarn.
  • Дисковое пространство и использование Интернета эффективно. (Из-за модели связывания node_modules вы загружаете и сохраняете пакет только один раз.)
  • Его поддерживает большое сообщество. Для него разрабатывается так много обновлений и плагинов.
  • Вы знаете, что он собирается делать. У него простой вывод.

Минусы:

  • По умолчанию он не установлен, и вам нужно установить его вручную.