NPM和依赖关系的奇怪行为

时间:2016-10-12 20:28:31

标签: npm

NPM似乎有一种奇怪的行为,它取决于包名称(按字母顺序排列)来确定要安装的内容。

例如,如果我有以下设置:

A depends on C@2.1.0
B depends on C@2.x
C@2.1.0 and C@2.2.0 are published

我将安装以下

A
B
C@2.1.0

因为C@2.1.0也满足2.x

现在,如果我翻转那些:

A depends on C@2.x
B depends on C@2.1.0

我的行为很烦人:

A
B
- C@2.1.0
C@2.2.0

A首先被处理,因为它首先按字母顺序排列,它得到C@2.2.0,最新的满足条件。当它到达B时,2.2.0并不满足2.1.0,因此B获得C@2.1.0,而我现在有了重复。

它基本上是相同的设置,但只是依赖包的名称会影响它的处理方式。

npm dedupe似乎也没有影响这种情况。

有没有办法阻止这种情况并始终从第一种情况中获得结果?

0 个答案:

没有答案