我正在阅读npm的版本控制,显然它提供了一个方便的命令来提高您的软件包版本。

npm version [<newversion> | major | minor | patch | premajor | preminor | prepatch | prerelease]

预发行版

可以说您的软件包以0.0.0版本开始
npm version prerelease => 0.0.1-0npm version prerelease => 0.0.1-1
基本上只是在破折号后增加数字

补丁

0.0.0开始,使用pre [major | minor | patch]代替...
npm version prepatch => 0.0.1-0npm version preminor => 0.1.0-0npm version premajor => 1.0.0-0
补丁

使用补丁从0.0.0开始...
npm version patch => 0.0.1npm version patch => 0.0.2
我了解提高主要次要版本和补丁版本的规则,但是在1.0.0之前对版本进行版本控制的标准约定是什么?

最佳答案

TLDR

我还没有看到prelease版本使用1.0.0之前的版本。由于公共(public)API尚未完成,因此这似乎毫无意义。 1.0.0发布后,它们将变得有用。

那么prelease版本什么时候有用?

semver.org:



和:



我在1.0.0之前看到的约定包括使用补丁程序进行错误修复/打字错误以及使用次要版本进行任何重大修改。 1.0.0之前的约定不太严格,因为尚无公共(public)API的保证。

当您想与社区共享一些早期功能时,Prelease版本会派上用场。

例如,在撰写本文时,npm-check-updates的最新稳定版本是1.5.1版本。我添加的一些新功能引入了向后不兼容的更改,因此为了符合semver,我必须在2.0.0下发布它们。但是,在社区进行更彻底的测试之前,我不希望将2.0.0作为最新的稳定版本发布。因此,我已经发布了一个预发行版本(使用npm publish --tag unstable),版本为2.0.0-alpha.1。社区成员可以安装预发行版本(带有npm install -g npm-check-updates@unstable)以试用最新功能,而普通的npm install -g npm-check-updates将继续为大多数用户安装稳定的1.5.1版本。当预发行版证明自己时,我可以轻松地将其发布为2.0.0的新版本。

09-11 07:47
查看更多