当我npm install
我的节点应用程序时,我的dependencies
的{{1}}属性中的软件包列表就被安装了。但是,由于某些原因,其中一些依赖项未安装其子依赖项。换句话说,没有node_modules文件夹具有我的依赖项。
package.json
奇怪的是,这是另一个项目,正在为相同的软件包安装子依赖项。
即使我尝试通过myproject
- node_modules
- my-package
- node_modules (would expect this to be here, but it's not)
手动安装单个软件包,也未安装软件包node_modules。
是否有可能会出现这种情况?还是我可以调试的方法?
谢谢
答案 0 :(得分:1)
NPM试图在根级别上平化依赖项。如果是满足您所有依赖关系的版本(或者只有一个软件包满足依赖关系,或者该版本满足package.json中定义的所有软件包要求),它将把它汇总到您的node_modules的根目录。这是有意完成的,因此不会多次安装相同的依赖项。
如果模块的版本冲突,例如package1具有版本1.0.1的依赖关系,而package2具有版本2的依赖关系。