摘要:在本教程中,您将了解语义化版本控制,以指定包的版本或安装外部包的指定版本。
npm 中的语义化版本控制介绍
为了使 JavaScript 生态系统更加可靠和安全,您应该更新package.json
文件中的版本号,该文件遵循语义化版本控制规范
major.minor.patch
Code language: JavaScript (javascript)
例如
4.17.1
Code 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.5
Code 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.3
Code language: JavaScript (javascript)
6) 使用 x 符号
使用x
符号指定任何版本。 例如,1.x
匹配所有具有1
的major版本的版本,如1.0.0
、1.1.2
、1.10.20
等。
安装具有特定版本的包
要安装包,请使用npm install
命令
npm install <package_name>
Code language: JavaScript (javascript)
要安装指定版本的包,请使用@
符号
npm install <package_name>@version
Code language: JavaScript (javascript)
以下示例安装具有版本4.x
的express
包
npm install express@4.x
Code language: JavaScript (javascript)
它将安装具有最高版本4.x
(例如4.17.1
)的express
包
总结
- npm 使用语义化版本控制规范,格式为
major.minor.patch
。
本教程对您有帮助吗?