You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于Helm 3包版本格式要求及helm package命令版本参数无效语义版本错误的咨询

Helm 3 包版本格式要求及常见错误解析

刚好对Helm的版本规范门儿清,来给你把这个问题说透~

Helm 3对包版本的要求非常明确——严格遵循Semantic Versioning 2.0.0(语义化版本2.0)规范,这也是你执行helm package ... --version <some_version>时碰到Error: Invalid Semantic Version错误的根本原因:输入的版本不符合这套规则。

核心版本结构拆解

SemVer的标准格式分为基础版和扩展版:

基础格式(必填)

主版本号.次版本号.修订号
  • 主版本号:当你做了不兼容的API变更时递增(比如从1.x到2.x,Chart的模板结构大幅调整)
  • 次版本号:当你新增了向下兼容的功能时递增(比如给Chart加了一个可选的sidecar容器)
  • 修订号:当你修复了向下兼容的bug时递增(比如修正了values.yaml里的一个参数默认值错误)

扩展格式(可选)

在基础版本后可以添加预发布版本和版本元数据,格式如下:

主版本号.次版本号.修订号-预发布版本+版本元数据
  • 预发布版本:用于标记未正式发布的版本(比如测试版、候选版),由点分隔的标识符组成,只能包含ASCII字母、数字和连字符,不能有前导零(比如beta.1有效,01.beta无效)
  • 版本元数据:用于记录构建信息、编译时间等,同样由点分隔的标识符组成,规则和预发布版本一致,且元数据不影响版本优先级(比如1.2.3+build.123和1.2.3会被视为同一版本)

常见无效版本示例(避坑指南)

你碰到的错误大概率是用了以下不符合规则的版本:

  • 非三段式结构:比如1.2(缺少修订号)、5(只有主版本号)
  • 带前导零的数字段:比如1.02.3(次版本号的02有前导零)
  • 开头带v前缀:Helm不允许版本号以v开头,比如v1.0.0是无效的
  • 用了非法字符:比如1.2.3-beta_1(下划线不属于允许的字符)、1.2.3/rc1(斜杠非法)

有效版本格式示例

给你列几个完全符合要求的版本,照着用就不会踩坑:

  • 基础正式版:1.0.0
  • 预发布测试版:2.1.3-alpha、3.0.0-rc.2
  • 带构建元数据的版本:1.5.2-beta.1+hotfix.202405、2.0.0+build.456

小提醒

如果你的Chart.yaml文件里已经指定了version字段,执行helm package时用--version参数会覆盖这个值,但不管是在Chart.yaml里定义还是用命令行指定,版本格式都必须符合SemVer规范哦。

内容的提问来源于stack exchange,提问作者User12547645

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 08:37:35