Npm 语义化版本控制

摘要:在本教程中,您将了解语义化版本控制,以指定包的版本或安装外部包的指定版本。

npm 中的语义化版本控制介绍

为了使 JavaScript 生态系统更加可靠和安全,您应该更新package.json文件中的版本号,该文件遵循语义化版本控制规范

major.minor.patchCode language: JavaScript (javascript)

例如

4.17.1Code language: JavaScript (javascript)

在此版本中

  • major版本为 4。
  • minor版本为 17。
  • patch版本为 1。

对于指定版本,您应该递增

  • 当您进行与先前版本不兼容的更改时,请递增major版本。
  • 当您添加与先前版本向后兼容的功能时,请递增minor版本。
  • 当您进行与先前版本向后兼容的错误修复时,请递增path版本。

如果您开发一个新包,起始版本应为1.0.0

当您进行一个或多个与版本1.0.0向后兼容的错误修复时,您会增加第三位数字1.0.1

当您引入新的向后兼容功能时,您会增加中间数字并将第三位数字重置为零,例如1.1.0

但是,当您进行与先前版本不兼容的更改时,您会增加第一位数字并将中间和最后一位数字重置为零,例如2.0.0

npm 语义化版本控制

以下解释如何计算语义化版本控制。

1) 插入符号 (a.k.a 帽子) 符号 ^

要包含在相同major范围内的特定版本之后的所有版本,请使用插入符号 (^)

^1.10.1
Code language: JavaScript (javascript)

2) 波浪号符号 ~

要包含在相同minor范围内的特定版本之后的所有版本,请使用波浪号符号 (~)

~1.5.12
Code language: JavaScript (javascript)

3) 比较运算符

要指定稳定版本的范围,请使用以下比较运算符之一:>、<、=、>=、<=

>1.5Code language: JavaScript (javascript)

或者可以使用连字符 (-) 来指定范围

1.0.0 - 1.5.0
Code language: JavaScript (javascript)

请注意,连字符两侧都有空格。

4) 预发布版本

要包含预发布版本(例如 alpha 和 beta),请使用预发布标签

1.0.0-alpha.1
Code language: JavaScript (javascript)

要指定预发布版本的范围,请使用比较运算符(如>)和预发布标签

>=1.0.0-alpha.0 <1.0.5
Code language: JavaScript (javascript)

5) 包含多个版本的集合

要包含多个版本的集合,请使用 || 来组合。 例如

 <1.2.0 || > 1.2.3Code language: JavaScript (javascript)

6) 使用 x 符号

使用x符号指定任何版本。 例如,1.x匹配所有具有1的major版本的版本,如1.0.01.1.21.10.20等。

安装具有特定版本的包

要安装包,请使用npm install命令

npm install <package_name>Code language: JavaScript (javascript)

要安装指定版本的包,请使用@符号

npm install <package_name>@versionCode language: JavaScript (javascript)

以下示例安装具有版本4.xexpress

npm install express@4.xCode language: JavaScript (javascript)

它将安装具有最高版本4.x(例如4.17.1)的express

总结

  • npm 使用语义化版本控制规范,格式为major.minor.patch
本教程对您有帮助吗?