GitHub Actions在Windows Runner的cmd.exe中无法执行命令求助
问题原因及解决办法
核心问题:cmd.exe 不支持 ls 命令
Windows的cmd.exe里没有ls这个命令——ls是Linux、macOS这类类Unix系统的目录列表命令,Windows cmd对应的命令是dir。你指定用cmd.exe执行ls,cmd识别不了这个命令,自然只会弹出自身的版本头部,不会有其他执行结果。
两种解决办法
1. 改用cmd原生命令
直接把run里的命令换成cmd支持的dir:
- name: Build shell: cmd.exe run: dir
2. 切换到PowerShell执行
Windows的GitHub Actions runner默认用PowerShell,而PowerShell里ls是Get-ChildItem的别名,完全可以直接用。你可以要么删掉shell: cmd.exe这一行,要么显式指定用PowerShell:
# 方案A:去掉shell配置,用默认的PowerShell - name: Build run: ls # 方案B:显式指定PowerShell - name: Build shell: powershell run: ls
另外提一句:你Workflow里用了${{ gitea.actor }},如果是在GitHub Actions上跑的话,得改成${{ github.actor }},不过这和当前命令执行的问题没关系。
内容的提问来源于stack exchange,提问作者RobinM
相关产品推荐
相关产品推荐

