npm的版本语义化
# npm 的版本语义化
# 版本规范:主版本号.次版本号.补丁版本号
如下是 npm 的常见配置
{
"dependencies": {
"echarts": "^5.0.2",
"element-ui": "^2.15.9",
"lodash": "^4.17.11"
}
}
1
2
3
4
5
6
7
2
3
4
5
6
7
以 echarts 为例子 5.0.2
表示什么
5
主版本号
:仅当程序发生了重大变化时才会增长,如新增了重要功能、新增了大量的 API、技术架构发生了重大变化
0
次版本号
:仅当程序发生了一些小变化时才会增长,如新增了一些小功能、新增了一些辅助型的 API
2
补丁版本号
:仅当解决了一些 bug 或 进行了一些局部优化时更新,如修复了某个函数的 bug、提升了某个函数的运行效率
所以 从左到右, 版本号从大到小
# npm 依赖包版本的~、>、^符号各代表什么?
# 注意 ⚠️
可能是为了利于包的更新迭代, npm 默认的版本控制是 ^ 此版本和补丁版本可增
这可能导致一些包自动升级的 bug
比如我最近遇到的
由于我的 ts 是低版本(大版本为 3), 我的 vue 版本为 ^2.6.10
, 流水线部署时直接给我升级到了 2.7.*
, 而 2.7 依赖的是高版本的 ts, 导致了报上图错
所以最后我将 vue 版本锁定为 ~2.6.11
, 这样即使流水线将 package-lock.json 删了部署, 也能拉到正确的版本
上次更新: 2023/04/05, 09:41:10