我正在阅读npm
的版本控制,显然它提供了一个方便的命令来提高您的软件包版本。
npm version [<newversion> | major | minor | patch | premajor | preminor | prepatch | prerelease]
预发行版
可以说您的软件包以
0.0.0
版本开始npm version prerelease
=> 0.0.1-0
npm version prerelease
=> 0.0.1-1
基本上只是在破折号后增加数字
补丁
从
0.0.0
开始,使用pre [major | minor | patch]代替...npm version prepatch
=> 0.0.1-0
npm version preminor
=> 0.1.0-0
npm version premajor
=> 1.0.0-0
补丁
使用补丁从
0.0.0
开始...npm version patch
=> 0.0.1
npm 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
的新版本。