npm version 命令详解
基本语法
npm version [<newversion> | major | minor | patch | premajor | preminor | prepatch | prerelease | from-git]
版本参数说明
具体版本号
npm version 1.2.3 # 直接设置为指定版本
- 语义化版本更新
major
: 主版本号升级 (1.0.0 → 2.0.0)minor
: 次版本号升级 (1.0.0 → 1.1.0)patch
: 修订号升级 (1.0.0 → 1.0.1)- 预发布版本
premajor
: 预发布主版本 (1.0.0 → 2.0.0-0)preminor
: 预发布次版本 (1.0.0 → 1.1.0-0)prepatch
: 预发布修订版本 (1.0.0 → 1.0.1-0)prerelease
: 预发布版本号升级 (1.0.0-0 → 1.0.0-1)- 从Git获取
from-git
: 从最近的git tag读取版本号
选项参数详解
1. --allow-same-version
npm version 1.0.0 --allow-same-version
允许将版本号设置为与当前版本相同的版本。默认情况下这是不允许的。
2. --no-commit-hooks
npm version patch --no-commit-hooks
跳过 git commit hooks。当你有严格的 commit hooks 检查但想要跳过时使用。
3. --no-git-tag-version
npm version patch --no-git-tag-version
阻止创建 git tag。只更新 package.json 文件。
4. --json
npm version --json
以 JSON 格式输出版本信息。
5. --preid
npm version prerelease --preid alpha
设置预发布标识符。例如:1.0.0-alpha.0
6. --sign-git-tag
npm version patch --sign-git-tag
使用 GPG 签名标签。
7. 工作区相关选项
-w, --workspace
npm version patch -w package-1
在指定的工作区中执行版本更新。
-ws, --workspaces
npm version patch --workspaces
在所有工作区中执行版本更新。
--no-workspaces-update
npm version patch --no-workspaces-update
阻止工作区的依赖版本自动更新。
--include-workspace-root
npm version patch --include-workspace-root
在使用工作区时包含根项目。
实际应用场景
1. 标准版本发布
npm version minor -m "feat: 新增功能 %s"
2. 预发布版本
# 创建 alpha 版本
npm version prerelease --preid alpha
# 创建 beta 版本
npm version prerelease --preid beta
3. Monorepo 工作区管理
# 更新特定包的版本
npm version patch -w package-name
# 更新所有包的版本
npm version patch --workspaces
4. CI/CD 中的使用
# CI 环境中更新版本
npm version patch --no-git-tag-version --no-commit-hooks
注意事项
执行 version 命令前,确保:
- git 工作目录是干净的
- 有足够的权限
- package.json 文件格式正确
在团队协作中:
- 统一版本号升级规范
- 明确预发布版本的命名规则
- 做好版本更新的提交信息规范
在 monorepo 项目中:
- 注意工作区之间的依赖关系
- 合理使用工作区相关选项
这些命令和选项的组合使用可以满足各种版本管理场景,建议根据项目实际需求选择合适的命令组合。
本文由mdnice多平台发布
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。