公共包如何管理版本
约 697 字
公共包版本管理
1. 版本号规范
版本号通常遵循语义化版本控制(Semantic Versioning, SemVer)规范。版本号格式为 MAJOR.MINOR.PATCH
,例如 1.0.0
。
- MAJOR:当你做了不兼容的 API 修改时递增。
- MINOR:当你做了向下兼容的功能性新增时递增。
- PATCH:当你做了向下兼容的问题修正时递增。
此外,还有预发布版本,如 beta
和 rc
(Release Candidate):
- beta:表示该版本已经完成了主要功能,但可能还存在一些已知或未知的 bug,适合开发者测试使用。格式为
1.0.0-beta.1
。 - rc:表示该版本已经接近最终发布版本,除非发现重大问题,否则不会再有大的改动。格式为
1.0.0-rc.1
。
需要注意的是,预发布版本通常不会被自动升级系统选择。用户在使用包管理工具(如 npm 或 yarn)时,默认情况下不会自动升级到预发布版本。这是为了确保生产环境的稳定性。如果用户想要使用预发布版本,需要明确指定版本号或使用特定的安装命令。这一点非常有用!能避免自动升级到不稳定的版本。
2. 版本发布
发布新版本时,需要遵循以下步骤:
- 更新版本号:根据变更的类型更新
MAJOR
,MINOR
或PATCH
版本号。- 这里可以使用脚本工具,比如
lerna
的version
命令,或者 npm 的npm version
命令。
- 这里可以使用脚本工具,比如
- 更新文档:确保所有相关文档已更新,包括变更日志(CHANGELOG)。
- 可以集成 changelog 工具,比如
conventional-changelog
,自动生成 changelog。
- 可以集成 changelog 工具,比如
- 运行测试:确保所有单元测试和集成测试通过。
- 打包发布:将新版本打包并发布到包管理平台(如 npm, PyPI 等)。
3. 版本回退
如果新版本存在严重问题,需要进行版本回退。步骤如下:
- 确定回退版本:选择一个稳定的历史版本。
- 更新版本号:将版本号回退到选择的历史版本。
- 发布回退版本:将回退版本发布到包管理平台,并通知用户。
4. 预发布版本管理
在发布正式版本之前,可以发布 beta
或 rc
版本进行测试:
- 发布 beta 版本:在主要功能完成后,发布
beta
版本供开发者测试。格式为1.0.0-beta.1
,后续的 beta 版本依次递增。 - 发布 rc 版本:在修复了 beta 版本中的主要问题后,发布
rc
版本。格式为1.0.0-rc.1
,后续的 rc 版本依次递增。 - 正式发布:在
rc
版本稳定后,发布正式版本。