Пакетный менеджер Yarn — инструкция по применению

Пакетный менеджер Yarn - инструкция по применению

Привет!) Сегодня мы рассмотрим пакетный менеджер Yarn. Немного истории. Появился Yarn как разработка от Facebook. И при появлении он был призван заменить пакетный менеджер npm. Так как yarn был в несколько раз быстрее при установке пакетов. На сегодняшний день, после выхода 5-й версии npm, npm значительно ускорился, и теперь по скорости он весьма сопоставим с yarn. Хотя, yarn все же быстрее, но это не критично.

Yarn работает с теми же пакетами что и npm. И решает те же задачи, что и npm. Только делает это несколько быстрее. На 30% — 50% , если сравнивать yarn и npm после 5-й версии.

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

Видео обзор работы с пакетным менеджером Yarn

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

Для установки пакетного менеджера yarn я предлагаю вам два способа.

Первый. На мой взгляд более быстрый и удобный. Если вы уже используете npm, то вы можете быстро установить yarn как обычная глобальная установка пакета от npm:

npm i yarn -g

Второй. Установить через дистрибутив с официального сайта, по ссылке: https://yarnpkg.com/en/docs/install

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

После того как yarn установлен, проверьте. Для этого в консоли наберите:

yarn -v

В ответ увидите, версию yarn. В моем случае ответ был 1.7.0

Начало работы с Yarn

Инициализация нового проекта происходит командой:

yarn init

Чтобы быстро создать файл, и автоматом ответить на все вопросы yes,
можно запустить команду с флагом -y

yarn init -y

После этого, в корне проекта будет создан файл package.json. Он будет самую малось отличаться, от того если бы вы создали его с помощью npm. Но это абсолютно не критично. Так как yarn и npm полностью взаимозаменяемы.

Установка пакетов из package.json

Если вы работаете с уже готовым проектом, и требуется установить все зависимости из файла packege.json используйте команду:

yarn

Или yarn install .

Файл yarn.lock

После инициализации, или установки пакетов с yarn вы увидите новый файл yarn.lock. Не надо его удалять. Это технический файл yarn. Просто храните его в проекте и добавьте его в версионный контроль (Git например). В него записываются версии всех пакетов и зависимостей, которые у вас установлены. Для того чтобы ваших коллег, кто будет работать с этим же проектом, установились те же версии пакетов — основных и зависимостей. В npm аналогом ему является файл package-lock.json .

У новичков возникает вопрос: «Надо ли загружать в Git репозиторий файл yarn.lock или package-lock.json?» Ответ: Надо!

Основные команды для работы с Yarn

Старт нового проекта

yarn init

Установка пакета

yarn add [package] // установит пакет и запишет его в зависимости Dependencies
yarn add [package]@[version] // установит пакет определенной версии
yarn add [package]@[tag] // установит пакет определенной версии

Установка пакета с записью в другие категории зависимостей

Можно установить пакет в devDependenciespeerDependencies, and optionalDependencies :

yarn add [package] --dev
yarn add [package] --peer
yarn add [package] --optional

Обновление зависимости

yarn upgrade [package]
yarn upgrade [package]@[version]
yarn upgrade [package]@[tag]

Удаление зависимости

yarn remove [package]

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

yarn

или

yarn install

Оффлайн установка пакетов в Yarn

Если вы попытаетесь установить пакет с отключенным интернетом, то yarn выдаст ошибку и предложит воспользоваться флагом —offline.

Этот флаг позволяет устанавливать пакеты, которые уже устанавливались ранее и сохранились в кэше. Для примера, установим jquery:

yarn add jquery --offline

Сравнение (аналоги) команд в NPM  и Yarn

npm (v5)Yarn
npm inityarn init
npm init --yesyarn init -y
npm installyarn install
(нет аналога)yarn install --flat
(нет аналога)yarn install --har
npm install --no-package-lockyarn install --no-lockfile
(нет аналога)yarn install --pure-lockfile
npm install [package]yarn add [package]
npm install [package] --save-devyarn add [package] --dev
(нет аналога)yarn add [package] --peer
npm install [package] --save-optionalyarn add [package] --optional
npm install [package] --save-exactyarn add [package] --exact
(нет аналога)yarn add [package] --tilde
npm install [package] --globalyarn global add [package]
npm update --globalyarn global upgrade
npm rebuildyarn add --force
npm uninstall [package]yarn remove [package]
npm cache cleanyarn cache clean [package]
rm -rf node_modules && npm installyarn upgrade
npm version majoryarn version --major
npm version minoryarn version --minor
npm version patchyarn version --patch

 

Ссылки по теме:

Документация yarn