首页 > 解决方案 > 去生成“路径中找不到可执行文件”

问题描述

我正在使用 go generate 命令(在 github 操作中),它说在 $PATH 中找不到我用于可执行文件的库

所以可以说我有这个代码。去

package code

// go:generate generator
struct Code {}

当我正常运行它时,它可以正常工作,零问题。

但是当我在 github 操作(本地行为库)中运行它时,它会说:

running "generator": exec: "generator": executable file
 not found in $PATH

当我回显 $PATH: ".....:/home/runner/go/bin/:/home/runner/go/bin/generator"

并且可执行文件在我运行生成之前的步骤中的路径中找到

  - name: RUN GENERATOR
    run: generator  # this works just find

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

编辑:附加说明:sudo 和非 sudo 命令之间的路径相同,但是run: sudo generator不起作用并且不再找到文件

对于任何偶然发现这一点的人,我的问题似乎与行为有关,以及它如何处理 linux 和 windows 客户端之间的差异: https ://github.com/nektos/act/issues/437 https://github.com/ nektos/act/issues/491

希望这些都得到解决,以帮助解决我在权限方面遇到的问题

我的解决方案是使用 sudo 填充一个名为“$SUDO”的环境变量,如果它处于可以安全地写入文件而不会出现问题的环境中,则将其关闭

标签: linuxgogithub-actions

解决方案


推荐阅读