【发布时间】:2015-04-23 20:09:33
【问题描述】:
我在 NPM 在我的项目中安装两个 React 副本时遇到问题。以下是依赖项的相关部分:
我的package.json:
"dependencies": {
"react": "0.12.2",
"tcomb-form": "0.4.5"
}
tcomb-form 的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?
【问题讨论】:
-
我用 npm 1.4.28 和 2.8.3 做了一些测试,但都无法重现你的问题。我怀疑这里的所有细节都很重要,可能包括您完全指定的依赖项、peerDependencies 和 devDependencies。我不知道为什么每个版本都做了什么。如果您可以发布MCVE,我们或许可以准确追踪到它。
标签: node.js npm dependencies transitive-dependency tcomb