我有以下依赖树:
module_a@1.9.15
module_b@1.0.22
module_c@1.1.2
module_b@1.0.22
(重要的是module_b是module_a和module_c的依赖关系)
现在,当我创建初始npm安装(npm3)时,它将以平面方式仅使用module_b的一个实例正确解析:
module_a@1.9.15
module_b@1.0.22
module_c@1.1.2
现在我想在更改一些代码后从本地文件夹重新安装module_b,以便能够快速测试它(无需将module_b推入注册表)。所以我做了以下几点:
npm install ../module_b
(module_b与module_a位于同一文件夹中)
但是当我这样做时,不幸的是扁平结构断裂,模块结构看起来像这样:
module_a@1.9.15 /home/gsanta/
├── module_b@1.0.22 invalid
├─┬ module_c@1.1.2
│ └── module_b@1.0.22
为什么这样工作?我还在使用从本地文件夹安装的相同版本的module_b(1.0.22)。
npm如何确定两个相关模块是否是相同的版本(看起来它不是package.json中的版本字段)?