Как избежать установки пакетов в монорепо с использованием Yarn - PullRequest
10 голосов
/ 26 марта 2020

Я построил монорепо, используя Lerna и Рабочие пространства пряжи .

Все работает нормально, но каждый раз, когда я устанавливаю новую зависимость для пакета (назовем его A ) с использованием:

yarn add <package_name>

Yarn добавляет его и затем запускает сценарий install для всех пакетов в monorepo, даже для пакетов, которые A не делает положитесь.

Это как-нибудь избежать этого? Их установка занимает несколько минут без всякой причины.

Ответы [ 3 ]

4 голосов
/ 29 марта 2020

Вы можете попробовать пряжу 2 с nodeLinker: node-modules в .yarnrc.yml. Yarn 2 гарантирует запуск перестроения только на пакетах с измененными зависимостями, это не гарантируется Yarn 1. Однако все еще будет очень редкий случай, когда, по-видимому, несвязанные пакеты перестраиваются, если они поднимаются по-разному после добавления нового пакета. , но это случится очень редко.

4 голосов
/ 04 апреля 2020

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

lerna add some_package_1 --scope=some_module_x

Подробнее: https://github.com/lerna/lerna/tree/master/commands/add#readme

4 голосов
/ 29 марта 2020

Попробуйте добавить в указанное c рабочее пространство с помощью: -

yarn workspace <workspace_name> add <package_name>

Для некоторых документов отметьте здесь

...