Spec-Zone.ru › Yarn 3

yarn add

Добавление зависимостей в проект.

Использование

$> yarn add ...

Примеры

Добавление обычного пакета в текущий рабочий каталог:

yarn add lodash

Добавление конкретной версии пакета в текущий рабочий каталог:

yarn add lodash@1.2.3

Добавление пакета из репозитория GitHub (ветка master) в текущий рабочий каталог, используя URL:

yarn add lodash@https://github.com/lodash/lodash

Добавление пакета из репозитория GitHub (ветка master) в текущий рабочий каталог, используя протокол GitHub:

yarn add lodash@github:lodash/lodash

Добавление пакета из репозитория GitHub (ветка master) в текущий рабочий каталог, используя протокол GitHub (сокращенная форма):

yarn add lodash@lodash/lodash

Добавление пакета из определенной ветки репозитория GitHub в текущий рабочий каталог, используя протокол GitHub (сокращенная форма):

yarn add lodash-es@lodash/lodash#es

Параметры

Определение
Описание
--json Форматирование вывода как потока NDJSON
-E,--exact Не использовать никакие модификаторы semver для разрешенного диапазона
-T,--tilde Использовать модификатор semver ~ для разрешенного диапазона
-C,--caret Использовать модификатор semver ^ для разрешенного диапазона
-D,--dev Добавить пакет в качестве зависимости разработки
-P,--peer Добавить пакет в качестве зависимости peers
-O,--optional Добавить/обновить пакет в качестве необязательной обычной/зависимости peers
--prefer-dev Добавить/обновить пакет в качестве зависимости разработки
-i,--interactive Использовать указанный пакет из других рабочих каталогов проекта
--cached Использовать самую последнюю версию, уже используемую в проекте
--mode #0 Изменить создаваемые артефакты

Подробности

Эта команда добавляет пакет в package.json для ближайшего рабочего каталога.

  • Если пакет не существовал ранее, он по умолчанию добавляется в поле regular dependencies, но это поведение можно изменить, используя флаг -D,--dev, который добавит зависимость в поле devDependencies, и флаг -P,--peer, который сделает то же самое для peerDependencies.

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

  • Если установлен флаг --prefer-dev, он будет работать как более гибкий -D,--dev и добавит пакет в devDependencies, если он еще не указан ни в dependencies, ни в devDependencies, но также обновит dependencies в случае необходимости (в то время как -D,--dev вызовет исключение).

  • Если установлен флаг -O,--optional, пакет будет добавлен в поле optionalDependencies, а в сочетании с флагом -P,--peer он будет добавлен как необязательная зависимость peer. Если пакет уже был в списке dependencies, он будет обновлен до optionalDependencies. Если пакет уже был в списке peerDependencies, в сочетании с флагом -P,--peer, он будет обновлен до необязательной зависимости peer: "peerDependenciesMeta": { "<package>": { "optional": true } }

  • Если добавленный пакет вообще не указывает диапазон, тег latest будет разрешен, и возвращенная версия будет использована для создания нового диапазона semver (по умолчанию с модификатором ^, если не указано иначе через конфигурацию defaultSemverRangePrefix, или модификатор ~, если указан -T,--tilde, или без модификатора, если указан -E,--exact). Два исключения из этого правила: во-первых, если пакет является рабочим каталогом, будет использована его локальная версия; во-вторых, если вы используете -P,--peer, диапазон по умолчанию будет * и не будет разрешен.

  • Если добавленный пакет указывает диапазон (например, ^1.0.0, latest, или rc), Yarn добавит этот диапазон в запись в package.json как есть (в частности, такие теги, как rc, будут закодированы как есть, а не преобразованы в диапазон semver).

Если используется параметр --cached, Yarn предпочтёт использовать самую последнюю версию, уже используемую где-либо в проекте, даже если через транзитивную зависимость.

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

Если установлен параметр --mode=<mode>, Yarn изменит создаваемые артефакты. Поддерживаемые режимы:

  • skip-build не будет запускать скрипты сборки вообще. Обратите внимание, что это отличается от установки enableScripts в false, поскольку последнее отключит скрипты сборки и, следовательно, повлияет на содержимое артефактов, созданных на диске, в то время как первое отключит только шаг сборки, но не сами скрипты, которые просто не будут запущены.

  • update-lockfile пропустит шаг подключения и извлечёт только пакеты, отсутствующие в файле lockfile (или у которых нет соответствующих контрольных сумм). Этот режим обычно используется инструментами, такими как Renovate или Dependabot, для поддержания актуальности lockfile без полной стоимости установки.

Для получения полного списка поддерживаемых протоколов, пожалуйста, обратитесь к соответствующей странице на нашем веб-сайте: https://v3.yarnpkg.com/features/protocols.

© 2016–present Yarn Contributors
Licensed under the BSD License.
https://v3.yarnpkg.com/cli/add

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API