Yarn – пакетный менеджер для JavaScript и Node.js, который используется для инсталляции и управления зависимостями в проектах. Он был создан компанией Facebook как альтернатива npm (Node Package Manager) с целью сделать работу с пакетами быстрее и надёжнее. Yarn решал актуальные на тот момент проблемы: медленную установку зависимостей, недетерминированность сборок и отсутствие офлайн-кэша.
Центральный элемент детерминизма – это файл yarn.lock, определяющий не только точные версии зависимостей, но и их контрольные суммы. Данный подход гарантирует идентичное дерево зависимостей при любой последующей установке вне зависимости от окружения, платформы или состояния реестра npm.
В то же время, параллельная загрузка пакетов в сочетании с устойчивым локальным кэшем значительно сокращает время выполнения инсталляционных операций. Всё дело в том, что повторная установка закэшированных пакетов не требует сетевого соединения.
В статье разберём, как установить Yarn на VPS под управлением Ubuntu и Debian с установленным Node.js.
Как установить Yarn на Ubuntu и Debian для Node.js
Так как Yarn не является самостоятельной средой выполнения, написан на JavaScript и работает поверх Node.js, используя его для запуска команд, установки и управления пакетами, то до установки Yarn на сервере должен быть проинсталлирован Node.js. В нашем справочнике есть руководства по инсталляции Node.js как на Ubuntu, так и на Debian.
Рекомендованный способ установки Yarn на Ubuntu и Debian для Node.js
Рекомендованным способом установки Yarn является его инсталляция с использованием пакетного менеджера npm, который поставляется в комплекте с Node.js.
Если в вашей системе установлен Node.js, а соответственно и npm, вы можете использовать следующую команду как для установки Yarn, так и для его обновления:
$ sudo npm install --global yarn
По завершении процедуры проверьте версию Yarn:
$ yarn --version
На момент написания статьи актуальной стабильной версией являлась 1.22.22.

Альтернативный способ установки Yarn на Ubuntu и Debian для Node.js
Альтернативный вариант установки представляет собой использование официального репозитория Yarn для Ubuntu и Debian. Для этого сначала загрузите публичный GPG-ключ репозитория Yarn:
$ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | sudo tee /etc/apt/keyrings/yarn-archive-keyring.gpg > /dev/null
Далее добавьте официальный репозиторий Yarn в систему. Запускаемая команда указывает, что пакеты из него должны проверяться GPG-ключом, добавленным на предыдущем шаге:
$ echo "deb [signed-by=/etc/apt/keyrings/yarn-archive-keyring.gpg] https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
Затем обновите индексы пакетов с учётом нового репозитория Yarn, чтобы система узнала о доступных версиях пакета:
$ sudo apt update
После чего установите Yarn из его официального репозитория:
$ sudo apt install yarn
Чтобы убедиться в успешном завершении установки, запустите вывод версии установленного пакета:
$ yarn --version
Основные команды Yarn
После успешной установки исполняемый файл yarn регистрируется в системной переменной PATH и становится доступен как глобальная команда в любом терминальном сеансе. Взаимодействие с Yarn осуществляется исключительно через интерфейс командной строки. Управление зависимостями, выполнение скриптов и обслуживание кэша выполняются с помощью соответствующих команд, например:
yarn init– инициализация проекта, то есть интерактивное созданиеpackage.jsonв текущей директории;yarn install– установка всех зависимостей проекта из существующегоpackage.json;yarn add <package-name>– добавление пакета вdependencies;yarn add <package-name> --dev– добавление пакета вdevDependencies;yarn add <package-name> --peer– добавление пакета вpeerDependencies;yarn remove <package-name>– удаление пакета;yarn upgrade <package-name>– обновление конкретного пакета до последней версии, удовлетворяющей semver-диапазону вpackage.json;yarn upgrade– обновление всех зависимостей проекта;yarn global add <package-name>– установка пакета глобально;yarn global remove <package-name>– удаление глобального пакета;yarn global list– вывод списка глобально установленных пакетов;yarn <script-name>– запуск скрипта, определённого в секцииscriptsфайлаpackage.json;yarn audit– проверка зависимостей на известные уязвимости;yarn list– вывод дерева зависимостей проекта;yarn cache dir– просмотр директории глобального кэша;yarn cache list– вывод списка закэшированных пакетов;yarn cache clean– очистка глобального кэша;yarn --help– получение помощи по использованиюyarn.
