目录
包版本号的语义化
包版本号的符号
举例
包版本号的语义化
在开始回答这个问题之前,先简单介绍一下包版本号的语义化。
在npm中,包的版本号通常遵循语义化版本规范(Semantic Versioning),即采用 major.minor.patch
的格式,如 1.2.3
。其中:
major
版本号表示不兼容的 API 变更;(如设计变动)minor
版本号表示向后兼容的功能性新增;(如API变动)patch
版本号表示向后兼容的 bug 修复。(bug修复等)
包版本号的符号
在 package.json
文件中,版本号的前面可能会加上一些符号,例如:
^1.0.0
:表示安装1.x.x
的最新版本,但是不允许升级到2.0.0
;~1.0.0
:表示安装1.0.x
的最新版本,但是不允许升级到1.1.0
;1.0.0
:表示只安装1.0.0
这个版本。
举例
因此,如果你在 dependencies
或 devDependencies
中写入:
{"dependencies": {"my-package-dep1": "^1.0.0""my-package-dep2": "1.0.0"},"devDependencies": {"my-package-devDep": "~1.0.0"}
}
那么my-package-dep1表示安装 1.x.x
的最新版本,但是不允许升级到 2.0.0
my-package-dep2表示安装 1.0.0
这个版本
my-package-devDep表示安装 1.0.x
的最新版本,但是不允许升级到 1.1.0
如果觉得有收获,麻烦给个赞和关注。你的鼓励是我写作的动力,大家一起学习一起进步。