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