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

Go Generate在GitHub Actions(act)环境运行时报executable not found in $PATH错误

GitHub Actions本地act环境执行go generate找不到可执行文件问题解决

问题现象

在GitHub Actions的本地act库环境中运行go generate命令时,提示调用的可执行文件未在$PATH中找到,本地直接运行该命令无任何异常。

相关代码与配置

  • 项目中的code.go文件内容:
package code

// go:generate generator
struct Code {}
  • act环境中执行时抛出的错误:
running "generator": exec: "generator": executable file
 not found in $PATH
  • 对应的GitHub Actions步骤配置:
- name: RUN GENERATOR
    run: generator  # 该步骤可正常执行

  - name: GENERATE NEW CODE
    working-directory: ./code
    run: |
      sudo go generate -v ./...

排查结论

打印环境变量$PATH可确认已经包含可执行文件所在的/home/runner/go/bin/路径,且上一步单独调用generator命令可以正常执行。即使确认sudo与非sudo命令的PATH完全一致,直接执行sudo generator同样会找不到该文件,该问题属于act处理Linux和Windows客户端差异的已知逻辑问题。

解决方案

定义名为$SUDO的环境变量,默认赋值为sudo,在无需权限即可安全写入文件的环境中取消该变量赋值即可,执行go generate的命令调整为$SUDO go generate -v ./...,即可兼容不同环境的执行要求。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 18:00:05