有一个软件包,其最新版本为2.1.3,预发布版本为3.0.0-rc.7。当我运行npm install package -g
时,安装了2.1.3。当我运行npm update -g
时,它会更新到预发行版(我之前安装过,但稍后删除)。 npm是否保留了预发布的最新记录?
$ package -v
2.1.3
$ sudo npm update -g package
$ package -v
3.0.0-rc.7
$ sudo npm remove package -g
$ sudo npm install package -g
$ package -v
2.1.3
包注册表提供"latest":"2.1.3"
和"pre":"3.0.0-rc.7"
。我正在使用npm 1.4.13和节点0.10.28。
答案 0 :(得分:0)
是的,npm存储库可以保留几个不同的dist-tag,其中latest
是发布和安装时的默认值。请参阅npm dist-tag文档。
预发布标识符的semver概念和非默认dist-tag的npm概念是不同的,但如果包作者选择npm publish任何一个,它可能是最佳实践使用它们预发布版本。例如,在发布候选版本时,可能需要使用next
对其进行标记。有关更复杂的示例,请参阅此命令的输出:
C:> npm dist-tag ls npm
3.x-latest: 3.9.6
3.x-next: 3.10.1
latest-1: 1.4.29
latest-2: 2.15.6
latest: 3.9.6
lts: 2.15.6
next-2: 2.15.8
next: 3.10.1
v3.x-latest: 3.9.6
v3.x-next: 3.10.1