Node.js 如果从本地文件夹安装模块,npm3安装会破坏扁平结构

Node.js 如果从本地文件夹安装模块,npm3安装会破坏扁平结构,node.js,npm,npm-install,Node.js,Npm,Npm Install,我有以下依赖关系树: module_a@1.9.15 module_b@1.0.22 module_c@1.1.2 module_b@1.0.22 (重要的是模块_b是模块_a和模块_c的依赖项) 现在,当我创建初始npm安装(npm3)时,仅使用模块_b的一个实例就可以以平坦的方式正确解决此问题: module_a@1.9.15 module_b@1.0.22 module_c@1.1.2 现在,我想在更改一些代码后从本地文件夹重新安装mo

我有以下依赖关系树:

module_a@1.9.15
    module_b@1.0.22
    module_c@1.1.2 
        module_b@1.0.22
(重要的是模块_b是模块_a和模块_c的依赖项)

现在,当我创建初始npm安装(npm3)时,仅使用模块_b的一个实例就可以以平坦的方式正确解决此问题:

module_a@1.9.15
    module_b@1.0.22
    module_c@1.1.2
现在,我想在更改一些代码后从本地文件夹重新安装module_b,以便能够快速测试它(无需将module_b推入注册表)。因此,我做了以下工作:

npm install ../module_b
(模块_b与模块_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中的version字段)