npm是否会在semver中使用更新的预发布版本?

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

然而,我有一个频繁变化的软件包,为了不使用像0.1.12324这样的可笑的大版本号,我偶然发现了预发行版的概念。

在运行npm install时, npm install如何处理预发行数字?

假设我的软件包packageA的版本号是0.1.1-r1234 ,而我的用户有一个依赖关系semver ~0.1.1

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

如果某人已经安装了packageA ,版本为0.1.1-r1233npm install是否知道安装较新的预发行版?

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

具有相同主要版本,次要版本和补丁版本的两个预发布版本的优先级必须通过从左到右比较每个点分隔的标识符来确定,直到发现如下差异:仅由数字组成的标识符在数字上进行比较,或连字符按照ASCIIsorting顺序进行词汇比较。 数字标识符的优先级总是低于非数字标识符的优先级。 如果所有前面的标识符相同,则更大的预发布字段集合具有比更小集合更高的优先级。 示例: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。