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

自托管代理运行Azure Pipeline时签出任务报找不到git文件错误

问题原因

##[error]File not found: 'git' 报错的核心原因是运行自托管代理的进程环境中,无法检索到git可执行程序,问题全部出在自托管代理所在机器的环境配置上,和Azure Pipeline的YAML配置、Azure DevOps侧的配置无关。

排查与解决步骤
  • 第一步:确认代理机器是否安装Git
    登录到部署自托管代理的机器,打开系统终端(Windows用CMD/PowerShell,Linux/macOS用默认Shell)执行命令git --version:
    • 如果终端直接返回"不是内部或外部命令"、"command not found"类提示,说明机器未安装Git:Windows安装Git时务必勾选Add Git to system PATH选项;Linux可通过对应包管理器安装(Debian/Ubuntu执行apt install -y git,CentOS/RHEL执行yum install -y git);macOS可执行xcode-select --install安装命令行工具自带的Git。
    • 如果终端能正常返回Git版本号,说明Git已安装,但代理进程未加载到Git的路径,继续走下一步排查。
  • 第二步:修复代理进程的环境变量加载问题
    绝大多数Git已安装但仍报错的场景,都是代理启动模式导致的PATH加载范围问题:
    • 如果代理是以系统服务模式运行(Windows服务、Linux systemd服务):服务进程只会加载系统级环境变量,不会加载当前登录用户的用户级PATH。Windows端需确认Git安装路径(默认是C:\Program Files\Git\cmd)配置在系统变量的Path列表中,而非仅存在于当前用户的用户变量Path中;Linux端需确认systemd服务配置未硬编码错误的PATH参数,可在服务配置中通过Environment字段补充Git路径。修改配置后必须重启自托管代理服务,环境变量才会生效。
    • 如果代理是手动在终端执行run.cmd/run.sh启动的:说明启动代理的终端会话未加载Git的PATH配置,Windows直接重启终端后再启动代理即可;Linux/macOS可先执行source /etc/profile加载全局环境变量,再重新启动代理进程。
  • 第三步:特殊场景兜底方案
    若上述配置完成后仍报错,可直接在Pipeline中显式指定Git可执行文件的绝对路径:
    variables:
      GIT_EXECUTABLE_PATH: "Git可执行文件的绝对路径,Windows示例:C:/Program Files/Git/cmd/git.exe,Linux示例:/usr/bin/git"
    
    另外要注意,如果你安装的是GitHub Desktop、Sourcetree等GUI客户端自带的便携版Git,这类Git默认不会注册到系统PATH,要么把便携版Git的路径加入系统PATH,要么单独安装正式版Git。

注意:所有涉及环境变量修改、代理重启的操作,完成后可以先在代理的capabilities列表里刷新检查,确认代理能识别到Git后再跑Pipeline。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 13:24:20