美文网首页
npm 语义化版本规范整理

npm 语义化版本规范整理

作者: yuho_小豪哥 | 来源:发表于2019-11-13 09:20 被阅读0次

每个项目的根目录下都有一个 package.json 文件,定义了这个项目所需的各种模块,以及项目的配置信息。其中,dependencies 字段指定了项目运行所依赖的模块,devDependencies 指定项目开发所需要的模块。

语义化版本管理

dependenciesdevDependencies 都指向一个对象。该对象的各个成员,分别由模块名和对应的版本要求组成,表示依赖的模块及其版本范围。这里使用了 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"
  }

版本格式

一般为:

主版本号.次版本号.修订号

不同版本号递增规则如下:

  • 主版本号(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版本控制符^,~,>,||,-的含义详解

参考文档

相关文章

  • npm 语义化版本规范整理

    每个项目的根目录下都有一个 package.json 文件,定义了这个项目所需的各种模块,以及项目的配置信息。其中...

  • npm 包遵循语义化版本控制(semantic versioni

    为了保持Javascript生态系统的健康、可靠和安全,npm建议使用语义化版本控制规范。语义化版本控制可以使开发...

  • Node-modules版本管理相关

    语义化版本 npm和yarn的包遵循语义化版本:版本号可以划分为 主版本号.次版本号.修订号(major.mino...

  • 给公司写的composer包开发的规范

    版本号的规范 参考 语义化版本 2.0.0 Versions and constraints 基本用法 版本格式 ...

  • 语义化版本和npm

    语义化版本是一个很多项目用来关联一个发布里的一些改变的标准。在一个发布里关联一些改变是很重要的,,因为有时候这些改...

  • npm 语义化版本 semver

    1. npm 版本号规则 major.minor.patch主版本号.次版本号.修补版本号 2. 版本匹配规则 v...

  • 版本管理规范-语义化版本

    摘要 版本格式:主版本号.次版本号.修订号,版本号递增规则如下: 主版本号:当你做了不兼容的API 修改。 次版本...

  • 版本号管理规范

    最近在整理一个版本管理比较乱的项目,于是找了下版本号管理规范相关文档;以下内容均摘抄自语义化版本 2.0.0,感兴...

  • semver 语义化版本规范

    semver 简介 semver 是 语义化版本(Semantic Versioning)规范 的一个实现,目前是...

  • 语义化版本 2.0.0

    语义化版本 2.0.0 语义化版本 2.0.0

网友评论

      本文标题:npm 语义化版本规范整理

      本文链接:https://www.haomeiwen.com/subject/tizcictx.html