YAML 配置報錯:常見語法錯誤對照表
手寫配置或 Mixin 時,YAML 語法錯誤會導致配置載入失敗。對照下表快速定位:
錯誤一:縮排不一致(最高發)
# 錯:proxies 下兩個元素縮排不同
proxies:
- name: 節點A
type: ss # 多了一個空格
# 對:同級元素嚴格對齊,只用空格,禁用 Tab
報錯特徵:did not find expected key 或 mapping values are not allowed。編輯器開啟「顯示空白字元」能救命。
錯誤二:冒號後少空格
port:7890 # 錯,冒號後必須有空格
port: 7890 # 對
錯誤三:特殊字元未加引號
password: p@ss:word! # 含冒號等字元,解析歧義
password: "p@ss:word!" # 對:加引號
密碼、含 emoji 的節點名、以 * 開頭的值(如 fake-ip-filter 的 "*.lan")都建議加引號。
驗證工具
改完不確定對不對:在 Profiles 頁面重新點選配置,看 Logs 有無解析錯誤;或把片段粘到任一線上 YAML 校驗器先過一遍語法。報錯資訊裡的行號指的是合併後配置的行號,用 Mixin 時以欄位名定位比行號更可靠。