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

Helm升级失败:多消息i18n配置转JSON时YAML解析错误

解决Helm ConfigMap多行YAML解析错误问题

问题根源

你的模板中直接输出多行$messages时,第二行及以后的内容没有缩进,违反了YAML块标量的格式规则。YAML解析器会把无缩进的行当成新的顶级键,导致出现找不到冒号的错误。

修复后的模板

将configmap.i18n.yaml中的{{ $messages }}替换为{{ $messages | nindent 4 }},确保多行内容都保持正确的缩进:

apiVersion: v1
kind: ConfigMap
metadata:
  name: {{ include "app.name" . }}-i18n-configuration
  labels:
    {{- include "app.labels" . | nindent 4 }}
data:
  {{- range $lang, $messages := .Values.application.i18n }}
  {{ $lang }}: |
    {{ $messages | nindent 4 }}
  {{- end }}

原理说明

使用nindent 4会给$messages的每一行前面添加4个空格,让所有行都属于{{ $lang }}:对应的块内容。这样YAML解析器就能正确识别多行文本是单个键的值,不会误判为新的配置项。

测试修改后的模板,你的多行i18n配置就能正常生成ConfigMap,不会再出现解析错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 22:57:09