自定义GitHub Action加载失败:期望MappingToken类型异常
解决GitHub自定义Action加载失败问题
问题根源
报错核心是YAML格式解析失败,具体是action.yml中第二个步骤的缩进不符合规范。YAML对缩进要求严格,子字段必须与同级字段保持一致的缩进级别,错误缩进会导致GitHub无法识别Action的结构。
修正后的action.yml内容
name: "Get & cache dependencies" description: "Get the dependencies and cache them." runs: using: "composite" steps: - name: "Cache dependencies" id: cache uses: "actions/cache@v3" with: path: node_modules key: deps-node-modules-${{ hashFiles('**/package-lock.json') }} - name: Install Dependencies if: steps.cache.outputs.cache-hit != 'true' run: npm ci shell: bash
关键修正点
- 将第二个步骤里的
if、run、shell字段的缩进调整为和name字段同级(保持统一缩进即可,比如2个或4个空格,只要与同级字段对齐)。 - 原配置中这几个字段缩进过多,超出了YAML允许的上下文范围,导致解析器无法识别步骤的映射结构。
验证方式
修正后推送代码到master分支,触发工作流运行,此时自定义Action应该能正常加载,执行缓存校验与依赖安装逻辑。
内容的提问来源于stack exchange,提问作者Ihor Khomiak
相关产品推荐
相关产品推荐

