第 4 课
常见 YAML 错误
缩进、Tab、类型推断与粘贴合并导致的问题。
YAML 报错大多不神秘,常见原因就那几类。
Tab 与空格混用
许多规范禁止用 Tab 缩进。Tab 与空格混用在某些编辑器里看起来对齐,解析器却会失败。请把编辑器配置为 YAML 插入空格。
差一级的缩进
键多缩进或少缩进一级,就会挂到错误的父节点。在 Kubernetes 里,containers 可能被你以为还在 spec 下,但解析器并不这么认为。
未引用的特殊标量
YAML 会对 yes、no、on、off 以及纯数字等做类型推断。若你本意是字符串,应加引号:
version: "01.10"
enabled: "yes"
流式集合不完整
写了 [ 或 { 却没有正确闭合,错误可能出现在文件深处。部分 CI 生成器会输出半合法流式 YAML——粘贴后务必校验。
一次粘贴多份文档
用 --- 分隔的多文档 YAML 合法,但部分工具只期望单文档。不理解边界就合并两份清单会导致迷惑性错误。
重复转换
JSON → YAML → 手工改 → JSON 可能在中间步骤引入重复键或类型变化。每一步转换后都应看 diff。