Я сделал этот пример каталога:
packages/
package1/
-- this has lodash as dependencies
package2/
-- this has package1 as dependencies using file:///path/to/packages/package1
Когда я делаю npm install
внутри package2
, моя иерархия каталогов
package2/
node_modules/
package1/
node_modules/
lodash/
Если я запускаю npm dedupe
после,тогда каталог становится:
package2/
node_modules/
package1/
lodash/
С другой стороны, если я сделаю yarn install
, то я получу плоский каталог по умолчанию. Как сделать так, чтобы npm install
и yarn install
вели себя одинаково? npm dedupe
невероятно медленен и не практичен в реальном приложении.
Это больше, чем просто вопрос удобства - в настоящее время у меня есть пакет script
, и я хочу перенести в него общие зависимости. Однако, если структура не сплющена, то если я сделаю require('some-package')
в этом scripts
репо, я получу модуль не найден, потому что пакет вложен.