You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitLab CI执行流水线报-mkdir: command not found如何解决

报错原因

这个报错是YAML语法格式错误导致的:

  • .gitlab-ci.yml是YAML格式配置文件,script字段下的待执行命令是标准YAML列表结构,语法要求列表项开头的-标记后必须加空格,才会被解析为列表分隔符
  • 你当前配置里所有命令行的-和后面的mkdir、cd、touch等命令直接连写、没有空格,YAML解析器不会把开头的-当列表标记,而是把-mkdir、-cd这类完整字符串识别为要执行的shell命令
  • 系统环境里不存在名为-mkdir的可执行文件,shell执行时自然会抛出命令不存在的错误。
修复方法

把script块下每一行开头的-和后续命令之间补上一个空格,就能解决这个命令找不到的报错。修正后的配置参考:

stages:
    - build
    - test

build the car:
    stage: build
    script:
        - mkdir build 
        - cd build
        - touch car.txt
        - echo "chassis" > car.txt
        - echo "engine" >> car.txt
        - echo "wheels" >> car.txt

额外提示:原配置里echo命令用的是>重定向,每次写文件都会覆盖之前的内容,最终car.txt里只会保留最后一行wheels。如果需要把三行内容都写入文件,从第二个echo开始要换成>>追加重定向,这个是逻辑优化项,和本次命令找不到的报错无关。

内容的提问来源于stack exchange,提问作者vish

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 15:12:46