为了保持JavaScript生态系统健康、可靠和安全,每次对你自己的npm包进行重大更新,我们建议在遵循语义版本规范的package.json文件中使用更新版本号来发布包的新版本。遵循语义版本规范帮助其他依赖你代码的开发者了解给定版本中更改的程度,并在必要时调整自己的代码。
注意:如果引入的更改打破了包的依赖关系,我们强烈建议升级版本的major编号。详见下文。
在已发布的包中升级语义版本
为了帮助依赖你代码的开发者,我们建议你的包从1.0.0
版本开始,并且向下面这样升级:
Code status | Stage | Rule | Example version |
---|---|---|---|
首次发布 | 新产品 | 从1.0.0开始 | 1.0.0 |
向后兼容的错误修复 | 补丁发布 | 升级第三位 | 1.0.1 |
向后兼容的新功能 | 次要版本发布 | 升级中间位并重置末位为0 | 1.1.0 |
破坏向后兼容的更改 | 主要版本发布 | 升级第一位并重置中间位和末位为0 | 2.0.0 |
使用语义化版本控制来指定你的包可以接受的更新类型
在包的package.json
文件中的dependencies选项中可以指定你的包能接受的更新类型。
例如,指定1.0.4以下的可接受版本范围,使用以下语法:
- 补丁发布:1.0或者1.0.x或者~1.0.4
- 次要版本发布:1或者1.x或者^1.0.4
- 主要版本发布:* or x
有关语义版本控制语法的更多信息,请参阅npm semver calculator。
例如
"dependencies": {
"my_dep": "^1.0.0",
"another_dep": "~2.2.0"
},