NPM包版本知识总结

397 阅读1分钟
  1. npm版本指定规则
  2. 向后兼容与向前兼容
  3. package.json中版本~与^说明

1.npm版本指定规则

使用npm发布一个包时,往往遵循x.y.z规则,第一个版本一般位0.0.1

  • x大版本号:引入新变化,破坏向后兼容
  • y小版本号:增加新功能,且不影响已有功能
  • z次版本号:修复否个bug,补丁

2. 向后兼容与向前兼容

  • 向后兼容:新版本兼容旧版本内容
  • 破坏向后兼容:新版本不支持旧版本,旧版本不能更新到新版本
  • 向前兼容:旧版本支持新版本中的功能

3.package.json中包版本~与^说明

"dependencies": {
		"cookie-parser": "~1.4.4",
		"debug": "~2.6.9",
		"ejs": "~2.6.1",
		"express": "~4.16.1",
		"express-session": "^1.16.2",
		"formidable": "^1.2.1",
		"http-errors": "~1.6.3",
		"mongoose": "^5.6.9",
		"morgan": "~1.9.1",
		"serve-favicon": "^2.5.0",
		"svg-captcha": "^1.4.0"
}

假定某个包的版本是1.4.0

  • ~1.4.0
    • 表示:>=1.4.0&&<1.5.0
    • 说明:小版本号不变,补丁号可以取最大值。
  • ^1.4.0
    • 表示:>=1.4.0?<2.0.0
    • 说明:大版本号不变,小版本号可以取最大值。