GitHub Actions首个工作流YAML语法报错,与视频代码一致仍出错
GitHub Actions YAML语法错误(第4行)解决办法
你碰到的You have an error in your yaml syntax on line 4错误,核心是YAML缩进格式不规范,和GitHub Actions的版本变更没啥关系,具体原因和修复步骤如下:
1. YAML缩进的严格要求
YAML对缩进的规矩特别严:
- 只能用空格缩进,绝对不能用Tab键(制表符)
- 同一层级的元素,缩进的空格数必须完全一致,不能一会儿用2个、一会儿用4个,也不能随便加多余空格
看你报错的工作流代码,好几处缩进不符合规范:
pull_request下的branches列表里,- main的短横线后多了多余空格goodbye任务里的run: echo "Goodbye world",冒号后多了好几个空格shell: bash的冒号后也多了多余空格
这些看似不起眼的空格,都会让YAML解析器直接报错。
2. 修复后的正确代码
把所有缩进统一成2个空格(GitHub Actions官方推荐),调整后的代码如下:
name: Hello world workflow on: push: branches: - main pull_request: branches: - main workflow_dispatch: jobs: hello: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: hello world run: echo "Hello World" shell: bash goodbye: runs-on: ubuntu-latest steps: - name: goodbye world run: echo "Goodbye world" shell: bash
3. 避免再踩坑的小技巧
- 写YAML时,把编辑器的Tab键自动转换为空格(一般设为2个或4个)
- 提交前用YAML校验工具检查语法,提前发现格式问题
- 尽量保持缩进风格统一,不要随意增减空格
为啥简化版能正常运行?
你的简化版工作流结构简单,所有缩进都符合规范,所以YAML解析器能正常处理。
内容的提问来源于stack exchange,提问作者learner
相关产品推荐
相关产品推荐

