Что лучше yarn или npm

Пряжа против нпм: все, что вам нужно знать

2016.10.26: Статья была обновлена ​​с учетом вопросов, затронутых в комментариях.

Но не пугайтесь! Это не попытка полностью заменить npm. Yarn — это только новый клиент CLI, который выбирает модули из реестра npm. Ничто в самом реестре не изменится — вы все равно сможете получать и публиковать пакеты как обычно.

Должны ли все прыгать на борт шумихи Yarn сейчас? Скорее всего, вы никогда не сталкивались с этими проблемами с npm. В этой статье мы собираемся сравнить npm и Yarn, чтобы вы могли решить, что лучше для вас.

Что лучше yarn или npm. Смотреть фото Что лучше yarn или npm. Смотреть картинку Что лучше yarn или npm. Картинка про Что лучше yarn или npm. Фото Что лучше yarn или npm

Пряжа против npm: функциональные различия

На первый взгляд пряжа и нпм выглядят одинаково. Когда мы заглядываем под капот, мы понимаем, что отличает пряжу.

Файл yarn.lock

Параллельная установка

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

Для сравнения я установил экспресс- пакет, используя npm и Yarn без файла shrinkwrap / lock и с чистым кешем. Всего будет установлено 42 пакета.

Кажется, разница тесно зависит от количества устанавливаемых пакетов. В любом случае, пряжа постоянно быстрее.

Более чистый выход

По умолчанию npm очень многословен. Например, он рекурсивно перечисляет все установленные пакеты при запуске npm install

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

Что лучше yarn или npm. Смотреть фото Что лучше yarn или npm. Смотреть картинку Что лучше yarn или npm. Картинка про Что лучше yarn или npm. Фото Что лучше yarn или npm

Пряжа против нпм: различия CLI

Помимо некоторых функциональных различий, Yarn также имеет разные команды. Некоторые команды npm были удалены, другие изменены и добавлена ​​пара интересных команд.

глобальная пряжа

пряжа установить

пряжа добавить [–dev]

Подобно npm install

лицензии на пряжу [ls | generate-disclaimer]

На момент написания статьи, нет эквивалента в npm. yarn licenses ls перечисляет лицензии всех установленных пакетов. yarn licenses generate-disclaimer генерирует заявление об отказе, содержащее содержимое всех лицензий всех пакетов. В некоторых лицензиях указывается, что вы должны включить лицензию проекта в свой проект, что делает этот инструмент довольно полезным для этого.

пряжа почему

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

обновление пряжи [пакет]

пряжа генерировать-блокировать вход

Стабильность и надежность

Может ли шумиха из Пряжи сойти с рельсов? Он получил много сообщений о проблемах в первый же день, когда он был опубликован, но число решенных проблем также поразительно. Оба указывают на то, что сообщество усердно работает над поиском и устранением ошибок. Если посмотреть на количество и тип проблем, Yarn выглядит стабильным для большинства пользователей, но может еще не подходить для крайних случаев.

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

Будущее

Возможно, вы знаете историю между Node.js и io.js. Напомним: io.js был форком Node.js, созданного некоторыми основными участниками после некоторого разногласия по поводу управления проектом. Вместо этого io.js выбрал открытое управление. Менее чем через год обе команды пришли к соглашению, io.js был объединен с Node.js, а первая была прекращена. Независимо от прав или ошибок, это внесло много замечательных возможностей в Node.js.

Я вижу похожие шаблоны с Npm и Yarn. Хотя пряжа не является вилкой, она исправляет несколько недостатков, которые имеет npm. Не было бы здорово, если бы npm узнал об этом и попросил Facebook, Google и других участников Yarn помочь вместо этого улучшить npm? Хотя еще слишком рано говорить о том, произойдет ли это, я надеюсь, что так и будет.

В любом случае, будущее пряжи выглядит ярко. Сообщество выглядит взволнованным и хорошо воспринимает этого нового менеджера пакетов. К сожалению, нет дорожной карты, поэтому я не уверен, какие сюрпризы преподносит нам пряжа.

Вывод

Я определенно рекомендую попробовать Yarn на одном проекте рано или поздно. Если вы осторожны с установкой и использованием нового программного обеспечения, дайте ему пару месяцев. В конце концов, npm испытан в бою, и это определенно чего-то стоит в мире разработки программного обеспечения.

Если вам случится ждать, пока npm завершит установку пакетов, это может быть идеальный момент для прочтения руководства по миграции 😉

Как вы думаете? Вы уже используете пряжу? Вы готовы попробовать? Или это только способствует дальнейшей фрагментации уже фрагментированной экосистемы? Позвольте мне знать в комментариях ниже.

Источник

Yarn или npm: все, что вам нужно знать о них

Yarn это новый менеджер пакетов, совместно созданный Facebook, Google, Exponent и Tilde. Как можно прочитать в официальной документации, его целью является решение целого ряда проблем, с которыми столкнулись разработчики при использовании npm, а именно:

Но не тревожьтесь. Это не попытка полностью заменить npm. Yarn это новый клиент командной строки, скачивающий модули из реестра npm. В самом реестре ничего не меняется — вы можете скачивать и публиковать модули также, как и прежде.

Должен ли теперь каждый срочно перейти на Yarn? Вполне возможно, что вы никогда не сталкивались с этими проблемами, используя npm. В этой статье мы сравним Yarn и npm, чтобы вы могли определиться, что лучше подходит для вас.

Что лучше yarn или npm. Смотреть фото Что лучше yarn или npm. Смотреть картинку Что лучше yarn или npm. Картинка про Что лучше yarn или npm. Фото Что лучше yarn или npm

Yarn или npm: функциональные отличия

На первый взгляд Yarn и npm кажутся похожими. Но если заглянуть под капот, мы увидим отличия Yarn.

Файл yarn.lock

В идеальном мире семантического версионирования, релизы с патчами не содержат коренных изменений. Но, к сожалению, в реальности это не всегда верно. Стратегия, выбранная npm может привести к тому, что на двух машинах с идентичными файлами package.json будут установлены различные версии пакетов, что может привести к появлению багов.

Параллельная установка

Независимо от того, устанавливается ли пакет с помощью npm или Yarn, при этом решается серия задач. В npm эти задачи выполняются последовательно и отдельно для каждого пакета, это значит, что пока пакет не установлен полностью, следующий пакет будет ждать. В Yarn эти операции выполняются параллельно, что улучшает производительность.

Для сравнения я установил пакет express с помощью npm и Yarn, не используя кэш, файлы shrinkwrap или lock; всего в установке 42 файла.

Я не поверил своим глазам. Повторение дало такие же результаты. Затем я установил gulp со 195 зависимостями.

Кажется, что разница зависит от количества устанавливаемых пакетов, в любом случае Yarn быстрее.

Консольные логи

По умолчанию npm выводит очень много. Например, он рекурсивно перечисляет все установленные пакеты при выполнении npm install

. Yarn с другой стороны, обходится минимумом информации и использует эмодзи (если у вас mac).

Что лучше yarn или npm. Смотреть фото Что лучше yarn или npm. Смотреть картинку Что лучше yarn или npm. Картинка про Что лучше yarn или npm. Фото Что лучше yarn или npm

Yarn или npm: различия в интерфейсе командной строки

Кроме функциональных отличий, в Yarn также отличаются команды. Некоторые команды npm удалены, некоторые модифицированы, а пара интересных команд добавлена.

yarn global

yarn install

yarn add [–dev]

Аналогично npm install

yarn licenses [ls|generate-disclaimer]

На момент написания в npm нет эквивалента этой команды. Yarn licenses ls выводит список лицензий всех установленных в проекте пакетов, а yarn licenses generate-disclaimer генерирует дисклеймер, содержащий текст всех лицензий всех пакетов в проекте. Некоторые лицензии требуют включать текст лицензии в ваш проект, поэтому этот инструмент весьма полезен.

yarn why

Эта команда смотрит в граф зависимостей и выясняет, почему указанный пакет установлен в вашем проекте. Возможно, вы сами добавили его, а, может, это зависимость установленного вами пакета. Команда yarn why помогает вам с этим разобраться.

yarn upgrade

Эту команду не надо путать с npm update, обновляющей пакеты до самой свежей версии.

yarn generate-lock-entry

Стабильность и надежность

А что, если шумиха вокруг Yarn преждевременна? В первый же день релиза появилось много сообщений о проблемах, но темпы решения проблем поражают. Это показывает серьезную работу по обнаружению и исправлению багов. Если смотреть на количество и типы проблем, Yarn кажется стабильным для большинства пользователей, но он может не подойти для каких-то отдельных случаев.

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

Перспективы

Возможно, вы опасаетесь повторения истории с Node.js и io.js. Напомню, что io.js был форком Node.js, созданным несколькими основными разработчиками после разногласий по поводу управления проектом. Меньше, чем через год, обе команды пришли к соглашению, io.js был слит с Node.js и прекращен. Независимо от того, кто был прав, это обогатило Node.js новыми функциями.

Я вижу схожие паттерны между npm и Yarn. Хотя Yarn это не форк, он исправляет некоторые из недостатков npm. Разве будет плохо, если npm учтет это и попросит Facebook, Google и остальных разработчиков Yarn улучшить npm? Хотя об этом слишком рано пока говорить, но я надеюсь, что так и произойдет.

В любом случае, будущее Yarn выглядит светлым. Сообщество проявляет интерес к появлению нового пакетного менеджера. К сожалению, пока отсутствует дорожная карта проекта, поэтому я не знаю, какие сюрпризы Yarn готовит для нас.

Заключение

Я мог бы однозначно рекомендовать попробовать Yarn в каком-нибудь проекте, раньше или позже. Если вы осторожны в установке и использовании новых программ, подождите пару месяцев. В конце концов, npm проверен в боевых условиях, а в мире разработки программного обеспечения это немаловажно.

Если же вы замечали, что вам приходиться ждать окончания установки пакетов npm, то вам самое время ознакомиться с руководством по переходу на Yarn.

Источник

UA Blog

Blog on instersting topics

Npm и Yarn – два самых популярных менеджеры пакетов для JavaScript. Если вы не знаете что делают менеджеры пакетов, то они являются естественным способом автоматизации процесса установки, обновления и удаления сторонних модулей, которые хранятся в общей базе модулей. В этой статье будет рассказано в чем разница между двумя самыми популярными менеджерами пакетов для JavaScript – npm и Yarn.

Npm – это менеджер пакетов, входящий в состав Node.js. Он использует клиент командной строки и базу данных, состоящую из общедоступных и приватных пакетов, известной как npm registry. Пользователи могут получить доступ к базе через сайт или через консоль.

Yarn был разработан в Facebook чтобы избавится от недостатков npm. Технически Yarn не является заменой npm, так он берет информацию про модули из базы npm. По сути Yarn это новый установщик который по прежнему базируется на структуре заданной npm. В Yarn доступны все те же пакеты что и в npm, поэтому, переезд с npm на Yarn не требует больших усилий.

Как установить npm

npm распространяется вместе с Node.js, то есть если вы установили Node.js, вы автоматически установили npm. Для проверки успешной установки Node.js используйте следующие команды

Как установить Yarn

Есть два способа: через npm, для этого запустите следующую команду

Хотя некоторые программисты не советуют так делать, так как считают что лучше установить Yarn через менеджер пакетов операционной системы. Например если вы используете brew на Mac, запустите следующую команду:

Для установки Yarn на Ubuntu 16.04 запустите такие команды:

Сравнение Yarn vs npm

Yarn имеет несколько особенностей отличающих его от npm (особенно версии меньше 5.0:

Наличие yarn.lock файла

Управления версиями в файле ‘package.json’ иногда становится беспорядочным. Файл yarn.lock помогает упорядочить эту путаницу. При добавлении новой зависимости, Yarn обновляет yarn.lock файл, принцип работы похож на Gemfile.lock в Ruby. yarn.lock файл гарантирует что на каждом устройстве будет установлена одинаковая версия пакета. lock файлы так называются, потому что они фиксируют версии зависимостей во время их установки. lockfile состоит из отсортированных ключей чтобы гарантировать минимальный изменения в файловой структуре папки node_modules.

В более ранних версиях npm, такая функциональность была реализована с помощью команды упаковывания(npm shrinkwrap). Тем не менее, shrinkwrap файл не генерировался автоматически, и требовал постоянной поддержки и обновления. Чтобы решить эту проблему npm ввел package-lock.json

Процесс установки пакетов

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

Скорость

Yarn на порядок быстрее всех версий npm меньше 5.0. Когда команда npm выпустила 5 версию они заявили что она будет в пять раз быстрее своих предшественников. Но все же npm остался медленне чем Yarn []

Главная проблема npm, это то что он автоматически запускает код зависимостей и позволяет добавлять зависимости на лету, хотя такие особенности дают много преимуществ, они также создаю уязвимости в безопасности. Так как Yarn устанавливает зависимости только с файлов yarn.lock или package.json он считается более безопасным. Также Yarn проверяет контрольные суммы перед установкой чтобы гарантировать целостность каждого пакета.

Разница при выполнении команд

Кроме своих функциональных преимуществ, Yarn также имеет несколько новых полезных команд.

Установка зависимостей

npm install устанавливает зависимости с файла package.json. Команда yarn install – с файла yarn.lock.

yarn why

Если вам не понятно почему именно этот пакет установился, команда yarn why пройдется по графу зависимостей и поможет вам выяснить.

Добавления пакетов

позволяет добавлять зависимости также как команда npm install

, но также добавляет зависимость в package.json.

Обновления пакетов

Также как и npm update, команда yarn upgrade [package] обновляет версии пакетов до последних версий.

Если вам нужно вручную сгенерировать файл yarn.lock, базируясь на зависимостях из package.json, используйте команду yarn generate-lock-entry. По сути это команда npm shrinkwrap, но ее нужно использовать очень аккуратно потому что файл yarn.lock, перезаписывается каждый раз при установке новой зависимости.

Улучшения npm в версии 5.0

В релиз пятой версии npm было добавлено три весомых улучшения:

1. Сохранения версий: был добавлен package-lock.json файл, и убрана команда npm-shrinkwrap. Это помогло решить проблемы с версиями зависимостей между установками на разных устройствах.

2. Улучшена производительность: npm 5 быстрее своих предшественников

3. Автоматическое добавление в package.json файл при выполнении команды npm install, в предыдущих версиях приходилась запускать эту команду з флагом –save.

До первого официального релиза Yarn, пользователи жаловались на проблемы с производительностью, но эти проблемы вскоре были решены. Так как Yarn поддерживается такой большой компанией как Facebook, все баги фиксят довольно быстро. По этому Yarn должен быть достаточно стабилен сейчас, но если вы столкнулись с какой то проблемой вы всегда можете вернуться к старому доброму npm.

Недостатки Yarn

Несмотря на то, что Yarn считается улучшенной версией npm, он все же имеет несколько нерешенных проблем. Например, одновременное использование npm и Yarn создает конфликты. Чтобы избежать подобных проблем, рекомендуется разделять проект на модули. Еще одной проблемой является большая необходимость в дисковом пространстве, так как Yarn сохраняет зависимости локально.

Yarn vs npm – вывод

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

Источник

Yarn или npm: всё, что вам нужно знать

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

Изложение основ

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

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

npm означает диспетчер пакетов узлов. Он был выпущен еще в 2010 году, положив начало новой эре в веб-разработке. До этого зависимости проекта загружались и управлялись вручную. npm была волшебной палочкой, которая подняла Интернет на новый уровень.

На самом деле npm включает в себя три вещи:

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

Если вы хотите более глубоко погрузиться в работу с npm, обратитесь к нашему Руководству по Node Package Manager.

Пряжа означает еще один переговорщик ресурсов. Менеджер пакетов Yarn — альтернатива npm, выпущенная Facebook в октябре 2016 года. Первоначальная цель Yarn заключалась в устранении недостатков npm, таких как проблемы с производительностью и безопасностью. Yarn был быстро позиционирован как безопасный, быстрый и надежный инструмент управления зависимостями JavaScript.

Но команда npm усвоила урок и быстро заполнила пробелы в npm, реализовав недостающие функции.

Давайте быстро отправимся в путешествие во времени, чтобы увидеть общую картину:

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

В оставшейся части этого урока мы исследуем основные сходства и различия между npm и Yarn.

Yarn или npm: сравнение установок

Мы начнем наше сравнительное исследование с процесса установки как для npm, так и для Yarn.

Установка самих менеджеров пакетов

Как я уже отмечал выше, npm поставляется с предустановленной Node, поэтому нет необходимости устанавливать npm вручную.

Напротив, Yarn необходимо установить явно. Во-первых, нам нужно установить Yarn глобально:

Затем мы можем использовать его для каждого проекта, установив желаемую версию внутри нашего проекта. Мы делаем это, выполняя yarn set versionкоманду в корневом каталоге проекта:

В данном случае berryэто версия, которую мы хотим установить.

Если мы хотим обновиться до последней версии, мы запускаем это:

С Yarn мы можем использовать разные версии для каждого проекта.

Чтобы сделать то же самое с npm, вам потребуется установить nvm (Node Version Manager). Вот как установить несколько версий Node с помощью nvm.

Установка зависимостей проекта

Теперь посмотрим, как устанавливаются зависимости проекта.

При запуске npm installзависимости устанавливаются последовательно, одна за другой. Журналы вывода в терминале информативны, но их трудно читать.

Чтобы установить пакеты с помощью Yarn, мы запускаем yarnкоманду. Yarn устанавливает пакеты параллельно, что является одной из причин, по которой он работает быстрее, чем npm. Если вы используете Yarn 1, вы увидите, что журналы вывода пряжи чистые, визуально различимые и короткие. Они также упорядочены в виде дерева для облегчения понимания. Но это изменилось в версиях 2 и 3, где журналы не такие интуитивно понятные и удобочитаемые.

До сих пор мы видели, что npm и Yarn имеют разные команды для установки пакетов. В следующем разделе мы рассмотрим другие команды.

Сравнение команд npm и Yarn

npm и Yarn имеют много общих команд, но есть также много неидентичных команд. Давайте сначала рассмотрим некоторые из идентичных команд:

Эти команды упрощают переключение между двумя менеджерами, но есть некоторые неидентичные команды, которые могут вызвать путаницу. Посмотрим, что они есть в следующем списке:

В Yarn также есть несколько уникальных команд, у которых нет эквивалентов в npm. Например, whyкоманда отображает причину, по которой нужен пакет: это может быть зависимость, собственный модуль или зависимость проекта.

Yarn или npm: скорость и производительность

Когда Yarn или npm нужно установить пакет, они выполняют ряд задач. В npm эти задачи выполняются для каждого пакета и последовательно, что означает, что он будет ждать полной установки пакета, прежде чем перейти к следующему. Напротив, Yarn выполняет эти задачи параллельно, повышая производительность.

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

Несмотря на то, что Yarn имеет некоторые преимущества, скорости Yarn и npm в их последних версиях довольно сопоставимы. Так что здесь мы не можем определить чистого победителя.

Yarn или npm: сравнение безопасности

Одна из основных критических замечаний к npm касается безопасности. Предыдущие версии npm имеют несколько серьезных уязвимостей.

Начиная с версии 6, npm проверяет пакеты во время установки и сообщает вам, обнаружены ли какие-либо уязвимости. Мы можем выполнить эту проверку вручную, запустив проверку npm auditустановленных пакетов. Если будут обнаружены какие-либо уязвимости, npm даст нам рекомендации по безопасности.

Что лучше yarn или npm. Смотреть фото Что лучше yarn или npm. Смотреть картинку Что лучше yarn или npm. Картинка про Что лучше yarn или npm. Фото Что лучше yarn или npm

Как вы можете видеть на скриншоте выше, мы можем запустить npm audit fixисправление уязвимостей пакетов, и деревья зависимостей будут исправлены, если это возможно.

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

Yarn или npm: сравнение характеристик

Как и в случае с командами, некоторые функции являются общими для npm и Yarn, но есть и некоторые отличия. Давайте сначала рассмотрим общие черты этих двух менеджеров пакетов.

Создание файла блокировки

В package.jsonфайле, в котором npm и Yarn отслеживают зависимости проекта, номера версий не всегда точны. Вместо этого вы можете определить ряд версий. Таким образом, вы можете выбрать конкретную основную и вспомогательную версию пакета, но разрешить npm установить последний патч, который может исправить некоторые ошибки.

В идеальном мире семантического управления версиями исправленные выпуски не будут содержать критических изменений. Но, к сожалению, это не всегда так. Стратегия, используемая npm, может привести к тому, что на двух машинах будет установлен один и тот же package.jsonфайл, но будут установлены разные версии пакета, что может привести к ошибкам.

Чтобы избежать несовпадения версий пакетов, точная установленная версия фиксируется в файле блокировки пакета. Каждый раз, когда модуль добавляется, НПМ и пряжа создать (или обновление) а package-lock.jsonи yarn.lockфайл соответственно. Таким образом, вы можете гарантировать, что другой компьютер установит точно такой же пакет, но при этом будет иметь диапазон допустимых версий, определенных в package.json.

Использование рабочих пространств

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

Удаленный запуск скриптов

Команда npxиспользуется для запуска скриптов из./node_modules/.bin. Это также позволяет вам выполнять пакеты из реестра npm, не устанавливая их в зависимости вашего проекта. Например, вы можете создать новое приложение React, выполнив следующее:

В Yarn вы можете добиться того же результата, используя эквивалентную dlxкоманду:

Остальные функции, которые мы собираемся изучить, уникальны для Yarn.

Zero installs

Plug’n’Play

Plug’n’Play — это альтернативная стратегия установки. Вместо того, чтобы генерировать node_modulesкаталог и оставлять разрешение на Node, Yarn генерирует единственный.pnp.cjsфайл, который сопоставляет пакеты с их местоположением на диске и их списком зависимостей. Эта функция может привести к более быстрому запуску проекта, более оптимизированному дереву зависимостей, более быстрой установке и, конечно же, устраняет необходимость в node_modulesпапке.

Лицензии

В Yarn есть встроенная программа проверки лицензий, которая может быть полезна в различных сценариях при разработке приложений.

Пряжа против npm: какой диспетчер пакетов выбрать

Мы рассмотрели различные сходства и различия npm и Yarn, но не определили, что лучше и какое нам следует выбрать. Как всегда, ответ зависит от наших желаний и требований.

В качестве общего руководства позвольте мне в заключение дать следующий совет:

Выберите npm, если вас устраивает текущий рабочий процесс, вы не хотите устанавливать дополнительный инструмент и у вас мало места на диске.
Выберите Yarn, если вам нужны отличные функции, такие как Plug’n’Play, вам нужны некоторые функции, которых нет в npm, и у вас достаточно места на диске.

Если вам все еще трудно принять четкое решение между npm и Yarn, вы можете проверить pnpm, который пытается объединить лучшее от обоих менеджеров пакетов и является третьей большой рыбой в пуле управления пакетами.

Yarn или npm: заключение

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

И, наконец, не зацикливайтесь на этом. Просто выберите одно и переходите к самому интересному: созданию отличных приложений!

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *