npm是否尊重semver中较新的预发布版本?

Jul*_*Lam 9 node.js npm semantic-versioning

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

但是,我有一个经常更改的软件包,并且为了不打算像一个可笑的大版本号0.1.12324,我偶然发现了预发布的概念.

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

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

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

如果某人已packageA安装了版本,该0.1.1-r1233怎么办?不npm install知道要安装新的预发布?

Jul*_*Lam 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.