YAML syntax error
YAML形式のファイルで構文エラーが発生した場合
概要
YAML形式の設定ファイル(docker-compose.yml、.github/workflows/*.yml、kubernetes manifests等)で構文エラーが発生した場合のエラーです。
エラーメッセージ
yaml: line 10: mapping values are not allowed in this context
yaml: line 5: did not find expected key
Error: yaml: line 3: found character that cannot start any token
Error parsing YAML file: could not find expected ':'
原因
- インデントの問題: スペースとタブの混在、インデント数の不一致
- コロンの後のスペース:
key:valueではなくkey: value - 特殊文字のエスケープ: 引用符なしの特殊文字
- マルチラインの書き方: 複数行文字列の記法ミス
- ブール値/数値の意図しない解釈:
yes、no、onなどの予約語
解決策
1. インデントの修正
| |
| |
2. コロンの後にスペース
| |
3. 特殊文字のエスケープ
| |
4. マルチライン文字列
| |
5. ブール値と数値
| |
6. リストの書き方
| |
7. ネストしたマップ
| |
8. アンカーとエイリアス
| |
9. null値
| |
10. GitHub Actionsの例
| |
11. docker-compose.ymlの例
| |
12. バリデーションツール
| |
よくあるパターン
| 記号 | 意味 |
|---|---|
| ` | ` |
> | 折りたたみブロック |
& | アンカー定義 |
* | エイリアス参照 |
<< | マージキー |
~ | null |
よくある間違い
- タブとスペースを混在させる
- コロンの後にスペースを入れ忘れる
- 引用符なしで特殊文字を使う
yes/noを文字列として使いたいのに引用符を忘れる
関連エラー
参考リンク
YAML の他のエラー
この記事は役に立ちましたか?