9

在我的应用程序中,我让用户通过运行npm install-- bog 标准行为来安装依赖项。

但是,我有一个经常更改的包,并且为了不让版本号像 一样大得离谱0.1.12324,我偶然发现了预发布的概念。

npm 在运行时如何处理预发布号npm install

假设我的包packageA的版本号为0.1.1-r1234,并且我的用户的依赖项为~0.1.1

我知道未packageA安装的新用户将自动安装该版本 ( 0.1.1-r1234)。

如果有人已经packageA安装了版本0.1.1-r1233怎么办?npm install知道安装较新的预发行版吗?

4

1 回答 1

5

我似乎已经回答了我自己的问题。从 semver.org 的主页

具有相同主版本、次版本和补丁版本的两个预发布版本的优先级必须通过从左到右比较每个点分隔标识符来确定,直到发现差异如下:仅由数字组成的标识符以数字进行比较,而标识符与字母进行比较或连字符按 ASCII 排序顺序在词法上进行比较。数字标识符的优先级始终低于非数字标识符。如果所有前面的标识符都相等,则较大的预发布字段集比较小的集具有更高的优先级。示例:1.0.0-alpha < 1.0.0-alpha.1 < 1.0.0-alpha.beta < 1.0.0-beta < 1.0.0-beta.2 < 1.0.0-beta.11 < 1.0.0- rc.1 < 1.0.0。

于 2013-11-29T02:42:04.740 回答