用户登录

开发的项目都需要一个版本号,有一种版本号的规范叫 Semantic Versioning,简称是 SemVer,这套规范就是教你怎么给你的项目设置版本号。 Node.js 项目都会使用这种版本号。

它就是把一个版本号分成了三个部分,中间用点分隔开,从左往右,第一个部分是 Major 版本,是项目的大版本号,如果项目有非常大的变化,可以更新这个数字。

第二部分是 Minor,就是小版本,如果在项目里添加了新的功能,这些功能不会破坏老版本,可以向后兼容,就可以更新这个 Minor 版本号。

最后一部分是 Patch,补丁版本,修复了一些小 Bug 以后,可以更新这个补丁版本号。

所以给你两个版本号,你大概就能判断这两个版本号代表的项目,它们之间的区别。比如有两个包,版本号分别是 4.17.0 还有 4.17.1。首先你会知道这个 4.17.1 一定比 4.17.0 这个版本的项目更新一些。

然后根据版本号里的补丁版本,我们可以判断出,这个 4.17.1 相对于 4.17.0,多修复了一处错误,就是一个 bug。

如果是 4.17.0 跟 4.16.0 相比的话,根据版本号里的小版本的变化,我们就知道,这个 4.17.0 比 4.16.0 多了一些功能,而且这些功能是向后兼容的,也就是它一般不会破坏我们的已经使用了这个包的项目。就是如果你在项目里已经使用了 4.16.0 这个包里的一些功能,你可以安全的把它更新到 4.17.0 这个版本。

如果是 5.0.0 跟 4.17.1 相比的话,就是一个大版本的更新,也就是 5.0.0 这个包里面的变化会非常的大,有可能这些变化会破坏我们的项目。就是如果你在项目里已经用了 4.17.1 这个包里的一些功能,如果把它升级成 5.0.0,很有可能会破坏我们的项目,就是以前有的功能,现在可能没有了,或者换了一种方法来实现。所以在升级大版本的时候,要仔细阅读升级的说明文档。

你会发现有些项目的版本号里面带着 alpha 这个词儿,它表示,这个东西还非常不成熟,还在早期的试验阶段,很多东西都还没有定下来,以后很可能会有大的变化。所以一般这种版本的东西不太适合用在生产环境的应用里面。

还有一个词也会出现在项目的版本号里面,就是 beta,它表示这个项目已经在测试阶段了,这种版本的东西要比之前的那个 alpha 更稳定一些。但是用的时候也要非常小心。

再往下走,就到了 RC 这个阶段,Release candidate,表示发布候选。项目开发到这个阶段基本上很多东西都定下来了,后面主要就是修复一些 Bug 之类的。

还有些词也经常会出现在应用的版本号里,或者表示这个应用的开发状态。比如 Stable,表示的就是稳定版本的项目,说明这个东西很稳定,可以放心使用。还有就是 Dev 这个词儿,表示的就是开发版的项目,就是这种东西一般会包含最新的功能,但是可能不如 Stable 那么稳定。跟这个词类似的还有 Edge。

有些软件除了会给你提供一个稳定版,或者正式版,还会给你提供 Nightly build 或者 Daily build 版本的软件。这种 Nightly build 或者 Daily build ,就是如果开发了新的功能,当天就把软件的这些新功能打包给你用。

如果你用的是稳定版或者正式版的软件,在软件里面添加的这些新的功能,可能要等一阵子,等软件正式发布以后,你才能更新软件,然后用到这些新的东西。

还有个词叫 LTS,它指的是 Long-term support,这种软件就是承诺给你会被长期支持,就是如果这个软件以后有什么漏洞,有什么 Bug 之类的,它会及时修复这些错误。不过也不是无限期的支持,一般可能会承诺支持个两三年,在这期间你都可以放心使用这个软件。

版本号《 小白兔的开发之路:管理包裹 》

统计

11889
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点