Лерна не поддерживает зависимости на верхнем уровне? - PullRequest
0 голосов
/ 02 июня 2018

Я нахожусь в процессе переключения моего монорепо (назад) с пряжи (с рабочими пространствами) на лерна / нпм, потому что пряжа слишком медленная и нестабильная.Однако я сделал удивительное открытие.Со следующим тривиальным package.json:

{
  "devDependencies": { "lerna": "^2.11.0" },
  "dependencies":    { "typescript": "^2.9.1" }
}

и пустым lerna.json (другими словами, пакетов вообще нет), тогда, когда я запускаю

$ lerna bootstrap

, это неустановить что-либо вообще в любой каталог node_modules верхнего уровня.И если по какой-то причине у меня есть каталог node_modules без подкаталога .bin, то lerna bootstrap не удается создать или заполнить подкаталог .bin.

Разве lerna не предназначена для фактического указания пакетов верхнего уровня, которые должны быть установлены (вместе с их двоичными файлами в .bin)?Я замечаю, что, если я попробую lerna add на lerna monorepo без пакетов, он пожалуется, что "lerna WARN В области, где можно добавить tslint, не найдено пакетов."

Я не смог найти ничего, связанного с этимв документации.С помощью пряжи / рабочих пространств я использовал возможность установки глобальных (верхнего уровня) версий таких вещей, как TypeScript, для использования в моих сценариях сборки, сохраняя контроль над установленной версией.

1 Ответ

0 голосов
/ 06 июня 2018

Из документации Lerna:

Вы можете добавить корень в качестве управляемого местоположения (в массиве пакетов lerna.json) - если это то, что вам нужно.Это заставит lerna связать зависимости root с каталогами ваших пакетов, запустить скрипт postinstall вместе с другими и т. Д.

...