Такие читатели, как вы, помогают поддерживать MUO. Когда вы совершаете покупку по ссылкам на нашем сайте, мы можем получать партнерскую комиссию. Читать далее.

Одной из лучших функций Node являются менеджеры пакетов. Существует множество различных способов установки и управления пакетами узлов. Здесь мы рассмотрим плюсы и минусы использования одного менеджера пакетов или нескольких менеджеров пакетов, а также некоторые из лучших способов их совместного использования.

Вы спросите, что такое менеджер пакетов? Читай дальше что бы узнать.

Что такое менеджеры пакетов?

В мире разработки программного обеспечения зависимости — это то, что вам нужно для запуска вашего проекта. Они как ингредиенты в рецепте: без них ничего не получится.

Например, если вы пишете приложение, использующее JavaScript, и ему требуется доступ к некоторым функциям из библиотека под названием jQuery (который когда-то использовали многие веб-сайты), тогда jQuery будет одной из ваших зависимостей. Вам нужно будет установить его, чтобы, когда кто-то посещает ваш сайт, они могли видеть те классные анимации или взаимодействия, которые вы создали с его помощью!

instagram viewer

Менеджеры пакетов помогают управлять этими отношениями между проектами, управляя зависимостями для нас, поэтому нам не нужно беспокоиться о ручной загрузке их каждый раз. когда мы хотим добавить или обновить что-то новое, они также следят за тем, чтобы все работало правильно и без сбоев после установки (иногда это легче сказать, чем сделанный).

Node поставляется с предварительно упакованным менеджером пакетов под названием NPM.

NPM — это менеджер пакетов по умолчанию, поэтому он встроен в среду выполнения узла. Вы можете использовать NPM для установки пакетов с GitHub или НПМ напрямую. Вы также можете опубликовать свои пакеты на этом сайте, чтобы другие могли установить их, используя свою версию NPM.

NPM используется не только для установки пакетов; он также обрабатывает разрешение зависимостей и конфликты версий между двумя или более необходимыми библиотеками или модулями в кодовой базе вашего приложения.

Это означает, что если есть несколько версий чего-то вроде Экспресс работает на вашем сервере в любой момент времени NPM позаботится о том, чтобы каждый экземпляр получал то, что ему нужно, не конфликтуя с другие экземпляры, выполняющие аналогичную работу, и все это не требует от вас каких-либо специальных действий, кроме простого вызов требовать() на объекте, когда это необходимо!

NPM — невероятно мощный инструмент, и с ним легко начать работу. Но если вы новичок в Node и JavaScript, может быть сложно узнать, какие инструменты доступны для вашего использования и какие из них лучше всего подходят для данного проекта.

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

Yarn и PNPM быстрее, чем NPM

Yarn — это безопасная и надежная альтернатива NPM, которая использует файл блокировки для предотвращения случайной перезаписи и обеспечивает правильное разрешение ваших зависимостей при установке пакетов.

Он также имеет более быстрое время установки, чем NPM, что делает его особенно полезным, если вы работаете с большими проектами, которые имеют много модулей с большим количеством зависимостей.

PNPM является альтернативой как Yarn, так и NPM, но пока не так популярен, потому что не имеет некоторых функций, которые есть ни в одном из них (например, файлы блокировки). Однако его разработчики утверждают, что PNPM может устанавливать пакеты в четыре раза быстрее, чем Yarn или NPM, благодаря своей легкости; это также означает меньшее использование дискового пространства на вашем компьютере!

Если вы создаете проект, для которого требуется всего несколько зависимостей, вероятно, будет достаточно Yarn или NPM. Однако если вы работаете с большими проектами со множеством модулей и зависимостей, то PNPM может быть для вас лучшим вариантом.

Преимущества использования нескольких менеджеров пакетов

Один менеджер пакетов может одновременно обрабатывать только одну версию любой данной библиотеки. Если вы хотите использовать две разные версии одной и той же библиотеки для других проектов или в разных средах (например, в рабочей среде или в рабочей среде). development), то вам потребуются два отдельных пакета, установленных в вашей системе.

Кредит изображения: ПНПМ

Это может привести к конфликтам, если оба пакета попытаются одновременно обновить свою версию одной и той же зависимости. Использование нескольких менеджеров пакетов означает, что у вас больше контроля над тем, какие зависимости устанавливаются и где, что помогает избежать конфликтов такого рода.

Еще одно преимущество заключается в том, что при использовании нескольких менеджеров пакетов каждый из них будет предоставлять свой уникальный набор функций. Некоторые могут быть быстрее других; у некоторых могут быть лучшие возможности управления зависимостями; другие могут больше подходить для разработки приложений в определенных средах, таких как ReactJS или VueJS и т. д.

Наконец, использование нескольких менеджеров пакетов может помочь повысить производительность вашего разработчика за счет сокращения времени, затрачиваемого на поиск и установку зависимостей. Это связано с тем, что каждый менеджер пакетов будет разработан с учетом определенного набора вариантов использования (например, скорость vs. безопасность по сравнению с управление зависимостями и т. д.).

Используйте несколько менеджеров пакетов, установив их глобально

С помощью командной строки вы можете указать, какой менеджер пакетов вы хотите использовать для конкретного проекта. Настройте несколько менеджеров пакетов на вашем компьютере:

  • NPM поставляется в комплекте с Node. Это позволит вам устанавливать другие пакеты (и менеджеры пакетов) из командной строки и управлять зависимостями во всех ваших проектах с помощью NPM. Это также полезно, если вы хотите запускать сценарии NPM в браузере (например, Webpack), потому что браузеры не поставляются с предустановленным NPM!
  • Установите Yarn глобально, используя NPM. Это еще один популярный способ управления зависимостями в проектах JavaScript. у него есть некоторые преимущества перед NPM, которые могут сделать его предпочтительным для определенных типов проектов или команд.
  • Наконец, установите PNPM. Этот менеджер пакетов является ответвлением NPM, разработанным для более быстрой и стабильной работы. Он также имеет некоторые дополнительные функции, которые могут быть полезны для некоторых типов проектов, например, поддержку зависимостей от GitHub.

Обратите внимание, что глобальная установка означает, что выбранный пакет будет доступен для всей вашей системы (вы можете получить доступ к программа в любом месте через командную строку), в то время как локальная установка может быть доступна только текущему рабочему каталог.

Реальные примеры того, как вы можете использовать несколько менеджеров пакетов

Проверьте эти варианты использования:

1. Пряжа и NPM могут использоваться вместе (например, создать-реагировать-приложение)

Это полезно, когда вы хотите воспользоваться преимуществами скорости и эффективности Yarn, сохраняя при этом совместимость с пакетами NPM. Если вам нужна последняя версия библиотеки, которая еще не была обновлена ​​для совместимости с Yarn, или если есть другая причина почему ваша команда предпочитает использовать NPM, несмотря на его медленную скорость или ограниченный набор функций, тогда это может хорошо сработать для вашего проект. Это также помогает избежать наличия двух отдельных деревьев зависимостей в настройке монорепозитория!

2. Использование Yarn для глобальных пакетов и PNPM для локальных установок

Хотя PNPM является самым быстрым менеджером пакетов, его использование для глобально установленных пакетов может оказаться сложным. Это связано с тем, что он использует другую файловую структуру, которая может вызвать проблемы совместимости с такими программами, как Visual Studio Code. Здесь на помощь приходит пряжа. Вы можете использовать его для глобально установленных пакетов и PNPM для локальных установок. Это решение — хороший способ получить преимущества обоих менеджеров пакетов без необходимости слишком сильно менять рабочий процесс. С этой настройкой — если вы хотите разгуляться — вы можете полностью удалить NPM из своей системы (но всегда приятно иметь NPM в качестве резервной копии).

3. Использование PNPM с NPM в качестве запасного варианта

Это хороший вариант, если вы хотите использовать PNPM, но не хотите, чтобы всем вашим разработчикам еще пришлось изучать новый инструмент. Это позволяет им продолжать работу с NPM до тех пор, пока они не освоятся с PNPM и не потребуют его для своей работы.

Использование нескольких менеджеров пакетов упрощает работу

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

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

В заключение, мы считаем, что вам следует использовать более одного менеджера пакетов. Это отличный способ начать работу с Node, а также изучить некоторые новые инструменты, если вы уже знакомы с NPM. Если у вас еще не установлен Node, установка в Windows проста.