npm version
是官方推荐的方式,它会自动更新package.json
并(可选)创建 Git Tag。
1.基本语法
js
npm version <new_version | major | minor | patch | premajor | preminor | prepatch | prerelease>
1.常用选项
命令 | 作用 | 示例(当前版本 1.2.3 → 新版本) |
---|---|---|
npm version major |
主版本号 +1,次版本和补丁归零 | 2.0.0 |
npm version minor |
次版本号 +1,补丁归零 | 1.3.0 |
npm version patch |
补丁版本号 +1 | 1.2.4 |
npm version premajor |
预发布主版本(如 2.0.0-alpha.0 ) |
2.0.0-0 |
npm version prerelease |
预发布版本号 +1(如 1.2.4-beta.1 ) |
1.2.4-0 |
npm version 1.5.0 |
直接指定版本号 | 1.5.0 |
附加参数
--no-git-tag
:不创建 Git Tag(默认会创建)。-m "版本描述"
:自定义 Git Tag 消息(如npm version patch -m "修复了XX问题"
)。--allow-same-version
:允许版本号不变(通常用于触发版本钩子)。
3. 使用 npm pkg
命令(npm v7+)
通过命令行直接修改 package.json
:
bash
bash
npm pkg set version="1.2.4"
4. 预发布版本管理
如果需要发布 Alpha/Beta/RC 版本:
bash
# 当前版本 1.2.3
npm version prerelease --preid=alpha # → 1.2.4-alpha.0
npm version prerelease # → 1.2.4-alpha.1
npm version prepatch --preid=beta # → 1.3.0-beta.0
5. 版本号规则(SemVer 语义化版本)
npm 遵循 SemVer 2.0 规范,格式为:
主版本.次版本.补丁版本-预发布标签+构建元数据
- 主版本(Major) :不兼容的 API 变更。
- 次版本(Minor) :向后兼容的功能新增。
- 补丁版本(Patch) :向后兼容的问题修复。
- 预发布标签(Prerelease) :如
-alpha.0
、-beta.1
。 - 构建元数据(Build Metadata) :如
+20240501
(通常忽略)。
6. 强制修改版本(不推荐)
如果版本号格式错误或需要强制覆盖:
bash
npm --no-git-tag version 1.2.3 --allow-same-version
7.示例工作流
bash
# 1. 更新补丁版本并提交 Git
npm version patch -m "修复登录页样式问题"
# 2. 推送代码和 Tag
git push && git push --tags
# 3. 发布到 npm
npm publish
如果需要更复杂的版本管理,可以结合工具:
standard-version
:自动化版本号和 CHANGELOG 生成。lerna
:多包管理项目的版本控制。