YAML文件Linting语法报错:预期节点内容却检测到'-'如何解决?
解决YAML Linting报错:syntax error: expected the node content, but found '-'
你的代码是Helm的Go模板语法,但普通YAML Lint工具(比如yamllint)默认只解析纯YAML结构,无法识别{{- ... -}}这类模板控制符,会把模板里用于修剪空格的-误判为YAML语法错误。
以下是几种可行的解决方案:
配置yamllint忽略模板语法
在项目根目录的.yamllint配置文件中添加规则,让工具跳过对Go模板标记的语法检查:rules: syntax: ignore: '{{-?\s.*?-?}}'这个正则会匹配所有带或不带空格修剪符的Helm模板标签,避免Lint工具误判。
改用Helm专用Lint工具
直接用Helm自带的helm lint命令,它原生支持模板语法解析,能同时检查YAML结构和Helm模板逻辑:helm lint ./your-chart-directory预处理模板后再Lint
如果必须用普通YAML Lint工具,可以先通过helm template渲染模板生成纯YAML,再进行检查:helm template . --values values.yaml | yamllint -
内容的提问来源于stack exchange,提问作者Shiva Shukla
相关产品推荐
相关产品推荐

