Эта страница переведена PageTurner AI (бета). Не одобрена официально проектом. Нашли ошибку? Сообщить о проблеме →
Устаревшее управление пакетами
В Lerna v9, выпущенной в сентябре 2025 года, команды lerna bootstrap, lerna add и lerna link были окончательно удалены после более чем двух лет устаревания.
Если вы всё ещё используете эти команды, пожалуйста, перейдите на давно поддерживаемую функцию workspaces вашего менеджера пакетов.
Следующее руководство предоставит предысторию и поможет понять, почему и как выполнить миграцию.
Переход с lerna bootstrap, lerna add и lerna link в Lerna v7 и новее
Ещё в июне 2023 года, в Lerna v7.0.0, мы убрали команды lerna bootstrap, lerna add и lerna link из Lerna по умолчанию. Более чем два года спустя, в Lerna v9.0.0, эти команды были окончательно полностью удалены.
В этом разделе описано, как лучше отказаться от их использования и модернизировать настройку с помощью workspaces вашего менеджера пакетов. Чтобы полностью понять, почему это необходимо, см. раздел Предыстория ниже.
Важно осознать, что Lerna больше не отвечает за установку и связывание зависимостей в вашем репозитории — ваш менеджер пакетов справляется с этой задачей гораздо лучше.
Добиться этого можно с помощью функции workspaces вашего менеджера пакетов. Соответствующая документация:
-
pnpm(https://pnpm.io/workspaces)
Используя workspaces, ваш менеджер пакетов будет выполнять те же самые операции связывания, которые раньше делали за вас lerna bootstrap и lerna link, но теперь это встроено прямо в команду install. После запуска установки никаких дополнительных команд не требуется (при условии, что вы настроили workspaces в соответствии с документацией вашего менеджера пакетов).
То же самое касается замены lerna add. Добавление и удаление зависимостей — это то, что ваш менеджер пакетов уже умеет делать, и поскольку workspaces — это полноценный сценарий использования, вы можете выполнить соответствующую команду install, чтобы добавить зависимость в конкретный пакет/рабочее пространство, и все необходимые локальные связи будут установлены автоматически.
Более конкретные сравнения и примеры использования до и после смотрите ниже.
Замена использования lerna bootstrap/lerna link
Что делает эта команда?
lerna bootstrap использовалась вместо npm install (или yarn/pnpm). Она устанавливала все внешние пакеты и связывала все внутренние пакеты в рабочем пространстве. lerna link выполняла только шаг внутреннего связывания.
Где она может использоваться?
Скорее всего, в свойстве "scripts" файла package.json в корне вашего рабочего пространства. Также проверьте ваши CI-конвейеры, так как они тоже могут вызывать lerna bootstrap вместо npm install (или yarn/pnpm).
Чем ее заменить?
Замените lerna bootstrap на npm install (или yarn/pnpm). Если вы уже выполняете команду установки вашего менеджера пакетов где-то в вашем рабочем процессе до того места, где вы ранее вызывали lerna bootstrap, то вы можете просто удалить этот вызов. lerna link можно просто убрать, так как шаг связывания теперь выполняется вашим менеджером пакетов во время npm install.
Если вы испо льзуете yarn и полагаетесь на связывание бинарных файлов, вам может потребоваться удалить папку node_modules один раз после перехода на рабочие пространства. Подробности см. в этой проблеме yarn.
Замена использования lerna add
Что делает эта команда?
lerna add использовалась для добавления зависимости в пакеты рабочего пространства. Она обновляла файлы package.json каждого пакета, добавляя зависимость.