具有预发行版本的nodejs中的依赖项解析

时间:2014-04-30 14:34:11

标签: node.js npm dependency-management

我正在使用nodejs,并且我试图在我的package.json中设置一些预发布版本

我的预发布版本如下:

"version": "0.10.0-rc1"
...
"version": "0.10.0-rc9"
"version": "0.10.0-rc10"

和其他应用程序的package.json类似:

"dependencies": {
    "my_app": "~0.10.0",
...

直到v0.10.0-rc9,依赖项解析工作正常,但现在版本v0.10.0-rc10没有被捕获。

有没有人有任何想法解决这个问题? 感谢

1 个答案:

答案 0 :(得分:1)

0.10.0-rc.10

我没有在npm上尝试过但使用semver包(npm使用的实际包)我已经复制了你的问题并发现这种格式解决了它。

我的理解是,npm总是将预发布语句排序为字符串,除非它可以被视为整数的整数。 (一个声明用点分隔)

考虑到问题和解决方案,这是有道理的。比较整数时,10大于9,但在比较字符串时," 9" (或" rc9")将大于" 10" (或" rc10"),因为字符串在每个字符的基础上从左到右进行比较。