linux - 去生成“路径中找不到可执行文件”
问题描述
我正在使用 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”的环境变量,如果它处于可以安全地写入文件而不会出现问题的环境中,则将其关闭
解决方案
推荐阅读
- c# - ASP.NET Core 3.0 / Swashbuckle:全局限制响应内容类型
- google-assistant-sdk - 如何从 SDK 中获得与移动应用程序中相同的搜索结果?
- sql - 如何根据 ComosDb 中的聚合函数结果对查询结果进行排序?
- apache-kafka - Kafka Connect JDBC Sink 连接器 - java.sql.SQLException:找不到合适的驱动程序
- jquery - 使用 vue 触发函数 onreadystatechange
- jenkins - 无法使用 jmeter 和 jenkins 将结果保存在结果目录中
- bash - 如何在 Jenkins 脚本化管道中将参数传递给 bash 脚本并将凭据设置为远程主机登录
- php - 如何为特定内容制作图像选择器
- vue.js - 数据属性“bg”已被声明为道具。请改用 prop 默认值。但是,道具不包括“bg”
- css - 当父 html-tag 是“nav”时,如何更改 sass 变量值?