extension
.yaml / .yml ファイル(YAML形式)の厳格なインデントルールとパースエラー対策
Docker ComposeやGitHub Actions、Kubernetesといったモダンなインフラ構築やCI/CDパイプラインの設定ファイルとして標準的に採用されている「YAML(ヤムル)」の記述ルールと、よく発生する構文エラーの対策について解説します。
【YAMLの設計思想と特徴】
YAMLは「人間の読みやすさ」を極限まで追求したデータ記述言語です。JSONのように大量の波括弧 `{ }` やダブルクォーテーション `" "` を書く必要がなく、スッキリとした見た目で複雑な階層構造(配列やオブジェクト)を表現できます。
【絶対に守るべきインデント(字下げ)の掟】
YAMLにおける最大の落とし穴であり、エラーの9割を占めるのが「インデント」の問題です。YAMLはインデントの深さによってデータの親子関係を判断します。
1. タブ文字(Tab)の絶対禁止
YAML仕様では、インデントにタブ文字を使用することが明確に禁止されています。必ず半角スペースを使用してください。(標準的には1階層につき半角スペース2つを使用します)。エディタの設定で「タブを入力した際に自動でスペースに変換する(Insert Spaces)」を有効にしておくのが鉄則です。
2. ハイフン(配列)の後のスペース
リスト(配列)を表現する際、先頭にハイフン(`-`)を置きますが、ハイフンと文字の間には必ず半角スペースを1つ空ける必要があります。
❌ `-item`
⭕ `- item`
【デバッグ方法】
YAMLのパースエラーは、目視で見つけるのが非常に困難です。VSCodeなどのエディタに「YAML」拡張機能をインストールし、保存時に自動フォーマットと構文チェックが走るように設定するか、オンラインの「YAML Validator」にコードを貼り付けて検証するのが最も確実なエラー回避策となります。