npm|npm 语义化版本规范整理
每个项目的根目录下都有一个语义化版本管理package.json
文件,定义了这个项目所需的各种模块,以及项目的配置信息。其中,dependencies
字段指定了项目运行所依赖的模块,devDependencies
指定项目开发所需要的模块。
dependencies
和 devDependencies
都指向一个对象。该对象的各个成员,分别由模块名和对应的版本要求组成,表示依赖的模块及其版本范围。这里使用了 Semver (语义化版本)来控制。示例如下:"dependencies": {
"@babel/core": "^7.5.4",
"@babel/preset-env": "^7.5.4",
"babel-core": "^6.26.3",
"babel-jest": "^24.8.0",
"babel-preset-env": "^1.7.0",
"jest": "^24.8.0",
"regenerator-runtime": "^0.13.2"
}
版本格式 一般为:
主版本号.次版本号.修订号
【npm|npm 语义化版本规范整理】不同版本号递增规则如下:
- 主版本号(major):当你做了不兼容的 API 修改(大版本修改)
- 次版本号(minor):当你做了向下兼容的功能性新增,可以理解为 Feature 版本
- 修订号(patch):当你做了向下兼容的问题修正,可以理解为 Bug fix 版本
- 指定版本:比如1.2.2,遵循“大版本.次要版本.小版本”的格式规定,安装时只安装指定版本。
- 波浪号(tilde)+指定版本:比如~1.2.2,表示安装1.2.x的最新版本(不低于1.2.2),但是不安装1.3.x,也就是说安装时不改变大版本号和次要版本号。
- 插入号(caret)+指定版本:比如?1.2.2,表示安装1.x.x的最新版本(不低于1.2.2),但是不安装2.x.x,也就是说安装时不改变大版本号。需要注意的是,如果大版本号为0,则插入号的行为与波浪号相同,这是因为此时处于开发阶段,即使是次要版本号变动,也可能带来程序的不兼容。
- latest:安装最新版本。
- 更多可以参考:NPM版本控制符^,~,>,||,-的含义详解
- yarn or npm 版本固化如何选择
- package.json文件
推荐阅读
- parallels|parallels desktop 解决网络初始化失败问题
- 第326天
- 牛人进化+|牛人进化+ 按自己的意愿过一生
- MongoDB,Wondows下免安装版|MongoDB,Wondows下免安装版 (简化版操作)
- 松软可口易消化,无需烤箱超简单,新手麻麻也能轻松成功~
- 为什么孩子一定要学会可视化思维!
- 试论化院的学生自组织
- 【变化】我的青椒学习之旅
- 中国MES系统软件随工业化成长
- 私有化轻量级持续集成部署方案--03-部署web服务(下)