npm - это менеджер пакетов по умолчанию для Node.js. Facebook уже давно разрабатывает альтернативное решение для управления пакетами под названием Yarn . Yarn, похоже, постепенно исчезает из ридмов Github как стандартное решение, а статистика на официальном сайте показывает, что только часть пакетов выполняется Yarn. Тем не менее, стоит подумать нестандартно.
Yarn полностью совместим с существующими файлами package.json, поэтому вы можете без проблем использовать оба решения для существующих проектов. Команды этих двух решений отличаются незначительно. Вот сравнение самых важных команд:
Описание | npm | Пряжа |
Инициализировать | npm init | пряжа init |
Обновить | npm install -g npm | самообновление пряжи |
Установить пакет | npm install --save [имя] | пряжа добавить [имя] |
Установить пакет | npm install --save-dev [имя] | пряжа добавить --dev [имя] |
Установить пакет глобально | npm install -g [имя] | пряжа global add [имя] |
Установить все пакеты | npm install | пряжа установить |
Обновить все пакеты | обновление npm | пряжа апгрейд |
Удалить пакет | npm remove [имя] | пряжа удалить [имя] |
Yarn началась с того, чтобы решить некоторые слабые места npm. Наиболее очевидным отличием является более высокая производительность: благодаря инкрементным установкам, многопоточности и новейшей убойной функции Plug'n'Play (PNP) производительность резко возрастает. Plug'n'Play отвергает идею создания папки node_modules на основе проекта, количество файлов, которое часто может достигать астрономических высот . Более подробную информацию можно найти в официальном техническом документе plug'n'play. Мы устанавливаем eslint один раз с npm, а затем с yarn с разогретым кешем в каждом случае, чтобы добиться разницы в скорости (6x!) Очистить: