我有一个 NPM 包(包 A),它使用自身的最后一个稳定版本进行编译。它通过一个本身依赖于包 A 的中间 Grunt 任务(包 B)来做到这一点。因此,依赖链是:
包 A -> 包 B (as devDependency
) -> 包 A (as dependency
)
但是,当通过安装包 A 时npm install
,NPM 不会将包 A 安装为包 B 的依赖项,这可能是设计使然 - 我假设它试图防止循环依赖,即使因为包 B 只是 a devDependency
,它也不会无论如何都安装在子包A上。
安装子包 A 的最简单/推荐的方式是什么?我的第一个解决方案是添加一个postinstall
简单地运行的脚本cd node_modules/package-B && npm install package-A
,但这会中断,因为 CWDpostinstall
并不总是包的根目录。