Ниже приведено описание проблемы: -
Ожидаемое поведение - иметь блокировку пакета. json файл создается для каждого пакета в папке пакетов.
Текущее поведение Моя текущая структура проекта выглядит следующим образом: -
packages/internal-package-1/package.json
packages/internal-package-2/package.json
packages/internal-package-3/package.json
lerna.json
package.json
package-lock.json
В настоящее время, как показано выше, существует только один файл блокировки пакета. json файл, для которого создается. весь проект, и он содержит только зависимость, которая в верхнем пакете. json файл.
Я ожидал, что для каждого пакета. json файл соответствующий пакет-блокировки. json должен быть сгенерирован, но это это не тот случай. Кроме того, файл top package-lock. json содержит только зависимости в верхнем пакете. json, но не все зависимости, объявленные в пакете evey. json file.
Теперь, если мы попытаемся использовать, например, internal-package-1 в другом проекте, поскольку из-за отсутствия файла блокировки для этого пакета будет загружена последняя версия зависимостей, что не соответствует ожидаемому поведению.
Возможное решение Возможным решением или ожиданием является создание файла блокировки для каждого пакета.
lerna. json
{
"packages": [
"packages/*",
"packages/Foundation/src/SampleNestedModule"
],
"version": "0.0.0"
}
Эта проблема затрагивает нас, поскольку в качестве файла блокировки не генерируется для каждого пакета, и если я пытаюсь использовать internal-package-1 в другом проекте, заблокированные зависимости не загружаются, но загружается их последняя версия.
Таким образом, мы поднимаем зависимость мы изменили наш npm скрипт установки, как показано ниже: - "install": "lerna bootstrap --hoist"
, это корректно поднимает зависимость, но не сгенерируйте файл блокировки для отдельного пакета.
Исполняемая версия
lerna --version 3.17.0
npm --version 6.10.1
yarn --version Not using yarn
node --version 10.16.0
| OS | Version |
MACOS
| NAME | VERSION |
| macOS Catalina | 10.15.2 |
Ниже приведены некоторые сообщения о том же самом, что я уже рассмотрел -
- https://github.com/lerna/lerna/issues/1462
- https://github.com/lerna/lerna/issues/2105
Спасибо, Vishe sh.