NPM在父级已满足时安装嵌套依赖项

时间:2015-04-23 20:09:34

标签: node.js npm dependencies transitive-dependency tcomb

我在NPM中遇到问题,在我的项目中安装了React的两个副本。以下是依赖项的相关部分:

我的package.json

"dependencies": {
    "react": "0.12.2",
    "tcomb-form": "0.4.5"
}

tcomb-form' s package.json

"peerDependencies": {
    "react": ">=0.12.0"
}

我不希望tcomb-form获得React自己的副本,因为我已经拥有满足其peerDependencies的依赖项。

但是,在npm 2.7.4中,确实tcomb-form/node_modules/react中安装了单独的版本,此版本与我的版本不兼容(我使用0.12,并且它正在安装0.13

npm 1.4.28中,此行为有所不同,tcomb-form/node_modules/react 存在,并且只会使用我的版本。

无论如何要做到这一点,以便我们在最新npm中使用相同版本的React?

1 个答案:

答案 0 :(得分:1)

npm dedupe应该处理这个问题。在npm的未来版本中,我相信这将在npm install默认情况下发生,但从1.x和2.x开始,我认为需要单独的重复数据删除。