第 4 课

常见 YAML 错误

缩进、Tab、类型推断与粘贴合并导致的问题。

YAML 报错大多不神秘,常见原因就那几类。

Tab 与空格混用

许多规范禁止用 Tab 缩进。Tab 与空格混用在某些编辑器里看起来对齐,解析器却会失败。请把编辑器配置为 YAML 插入空格。

差一级的缩进

键多缩进或少缩进一级,就会挂到错误的父节点。在 Kubernetes 里,containers 可能被你以为还在 spec 下,但解析器并不这么认为。

未引用的特殊标量

YAML 会对 yesnoonoff 以及纯数字等做类型推断。若你本意是字符串,应加引号:

version: "01.10"
enabled: "yes"

流式集合不完整

写了 [{ 却没有正确闭合,错误可能出现在文件深处。部分 CI 生成器会输出半合法流式 YAML——粘贴后务必校验。

一次粘贴多份文档

--- 分隔的多文档 YAML 合法,但部分工具只期望单文档。不理解边界就合并两份清单会导致迷惑性错误。

重复转换

JSON → YAML → 手工改 → JSON 可能在中间步骤引入重复键或类型变化。每一步转换后都应看 diff。

想动手练习时,可使用 DevCove 相关工具——可选,不属于本课正文。

打开相关工具

返回课程概览