使用npm的语义版本控制

语义版本控制是用于为版本提供含义的约定

如果Node.js软件包中有一件很棒的事情,那就是所有人都同意将语义版本控制用于其版本编号。

语义版本控制的概念很简单:所有版本都有3位数字:x.y.z

  • 第一位是主要版本
  • 第二个数字是次要版本
  • 第三位数是补丁版本

发布新版本时,您不仅可以随心所欲地增加数字,还可以遵循以下规则:

  • 当您进行不兼容的API更改时,您可以升级到主要版本
  • 当您以向后兼容的方式添加功能时,您可以升级次要版本
  • 进行向后兼容的错误修复时,您可以升级补丁程序版本

该约定在所有编程语言中都被采用,并且非常重要的一点是,npm软件包坚持使用它,因为整个系统都依赖于此。

为什么这么重要?

因为npm设定一些我们可以在其中使用的规则package.json文件选择当我们运行时它可以将我们的软件包更新到哪个版本npm update

规则使用这些符号:

  • ^
  • ~
  • >
  • >=
  • <
  • <=
  • =
  • -
  • ||

让我们详细了解这些规则:

  • ^:如果您写^0.13.0跑步时npm update它可以更新到补丁程序和次要版本:0.13.10.14.0等等。
  • ~:如果您写~0.13.0,在跑步时npm update它可以更新到补丁程序版本:0.13.1可以,但是0.14.0不是。
  • >:您接受比您指定的版本更高的任何版本
  • >=:您接受等于或高于您指定的版本的任何版本
  • <=:您接受等于或低于您指定的版本的任何版本
  • <:您接受低于指定版本的任何版本
  • =:您接受该确切版本
  • -:您接受各种版本。例子:2.1.0 - 2.6.2
  • ||:您将集合组合在一起。例子:< 2.1 || > 2.6

您可以结合使用其中一些符号,例如use1.0.0 || >=1.1.0 <1.2.0使用1.0.0或从1.1.0开始但低于1.2.0的一个发行版。

还有其他规则:

  • 无符号:您仅接受您指定的特定版本(1.2.1
  • latest:您想使用可用的最新版本

免费下载我的Node.js手册


更多节点教程: