Gahing's blog Gahing's blog
首页
知识体系
  • 前端基础
  • 应用框架
  • 工程能力
  • 应用基础
  • 专业领域
  • 业务场景
  • 前端晋升 (opens new window)
  • Git
  • 网络基础
  • 算法
  • 数据结构
  • 编程范式
  • 编解码
  • Linux
  • AIGC
  • 其他领域

    • 客户端
    • 服务端
    • 产品设计
软素质
  • 面试经验
  • 人生总结
  • 个人简历
  • 知识卡片
  • 灵感记录
  • 实用技巧
  • 知识科普
  • 友情链接
  • 美食推荐 (opens new window)
  • 收藏夹

    • 优质前端信息源 (opens new window)
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Gahing / francecil

To be best
首页
知识体系
  • 前端基础
  • 应用框架
  • 工程能力
  • 应用基础
  • 专业领域
  • 业务场景
  • 前端晋升 (opens new window)
  • Git
  • 网络基础
  • 算法
  • 数据结构
  • 编程范式
  • 编解码
  • Linux
  • AIGC
  • 其他领域

    • 客户端
    • 服务端
    • 产品设计
软素质
  • 面试经验
  • 人生总结
  • 个人简历
  • 知识卡片
  • 灵感记录
  • 实用技巧
  • 知识科普
  • 友情链接
  • 美食推荐 (opens new window)
  • 收藏夹

    • 优质前端信息源 (opens new window)
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 前端基础

  • 应用框架

  • 工程能力

    • 工程效率

    • 编译构建

    • 工程管理

      • monorepo

      • npm

        • npm link 存在的问题
        • npm供应链攻击
        • npm资料
        • pnpm介绍
        • 前端依赖管理-前世今生及未来
        • npm version 命令
          • 前言
          • 使用
          • version 命令具体做了什么?
          • 最佳实践
          • 参考
        • npm 发包过程
        • 关于 lockfile 合并冲突的问题分析与最佳实践
        • 前端依赖一致性的问题分析与最佳实践
        • 浅谈 package-lock.json 合并冲突修复算法
    • JS 模块化

    • CSS 模块化

    • 工程质量

    • 前端测试

    • CI&CD

  • 应用基础

  • 专业领域

  • 业务场景

  • 大前端
  • 工程能力
  • 工程管理
  • npm
gahing
2019/05/01
目录

npm version 命令

# 前言

对于 NodeJS 项目中,我们经常需要变更 package.json 中的版本信息。

正常操作是,手动修改 package.json 文件的版本信息,然后再commit。

每次这样做,操作太繁琐。

实际上,我们可以使用 npm version <newversion> 命令

# 使用

npm version [<newversion> | major | minor | patch | premajor | preminor | prepatch | prerelease | from-git]
1
  • major: 主版本号 1.0.0->2.0.0
  • minor: 次版本号 1.0.0->1.1.0
  • patch: 补丁号 1.0.0->1.0.1 / 1.0.0-2->1.0.0 (预备版本转正式版本)

发布预备版本,大致同上,只是会在版本号后加 -0 说明这个新版本是个预备版本

  • premajor: 预备主版本 2.2.2-1 -> 3.0.0-0
  • preminor: 预备次版本 2.2.2-1 -> 2.3.0-0
  • prepatch: 预备补丁版本 2.2.2-1 -> 2.2.3-0

    如果不想要 -0 ,需要手动指定版本号 npm version 2.2.3

  • prerelease: 预发布版本 2.2.2 -> 2.2.3-0 / 2.2.3-0 -> 2.2.3-1

    如果想要 2.2.2 -> 2.2.2-1 ,即预备版本作为 bugfix 用,需要手动指定版本号 npm version 2.2.2-1

# version 命令具体做了什么?

比如当前版本为 0.1.1,使用npm version patch后,会执行以下操作:

  1. 修改 package.json 的 version 为0.1.2
  2. git commit -m "0.1.2"
  3. git tag -a v0.1.2

也可以指定 commit的信息

npm version patch -m "Upgrade to v%s"  # %s 会自动替换成版本号
# 此时提交信息为: Upgrade to v0.1.2
1
2

注:使用 npm version <newversion> 命令,需要当前工作区为clean状态,否则会执行失败。

# 最佳实践

补丁号版本作为正常版本,预备版本作为 bugfix

同时次版本和补丁版本的版本号从 0 开始,且不超过 10

也就是说,正常项目发版可能是

1.0.0 (npm version patch)->
1.0.1 (new verison) (npm version 1.0.1-1)->
1.0.1-1 (bugfix version) (npm version prerelease)->
1.0.1-2 (bugfix version) (npm version 1.0.2)->
1.0.2 (new verison)
...
1.0.9 (只到 x.x.9 版本) (npm version minor)->
1.1.0 
...
1.9.0 (只到 x.9.x 版本) (npm version major)->
2.0.0
1
2
3
4
5
6
7
8
9
10
11

# 参考

https://www.jianshu.com/p/9e64bdf1e8f9

编辑 (opens new window)
#npm
上次更新: 2024/09/01, 23:56:56
前端依赖管理-前世今生及未来
npm 发包过程

← 前端依赖管理-前世今生及未来 npm 发包过程→

最近更新
01
浅谈代码质量与量化指标
08-27
02
快速理解 JS 装饰器
08-26
03
Vue 项目中的 data-v-xxx 是怎么生成的
09-19
更多文章>
Theme by Vdoing | Copyright © 2016-2024 Gahing | 闽ICP备19024221号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式