npm文档翻译-向注册表提供包-关于语义化版本控制

343 阅读1分钟

为了保持JavaScript生态系统健康、可靠和安全,每次对你自己的npm包进行重大更新,我们建议在遵循语义版本规范的package.json文件中使用更新版本号来发布包的新版本。遵循语义版本规范帮助其他依赖你代码的开发者了解给定版本中更改的程度,并在必要时调整自己的代码。
注意:如果引入的更改打破了包的依赖关系,我们强烈建议升级版本的major编号。详见下文。

在已发布的包中升级语义版本

为了帮助依赖你代码的开发者,我们建议你的包从1.0.0版本开始,并且向下面这样升级:

Code statusStageRuleExample version
首次发布新产品从1.0.0开始1.0.0
向后兼容的错误修复补丁发布升级第三位1.0.1
向后兼容的新功能次要版本发布升级中间位并重置末位为01.1.0
破坏向后兼容的更改主要版本发布升级第一位并重置中间位和末位为02.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"
},