我正在尝试使用TravisCI构建我的golang cli项目。发现的问题之一是在运行创建文件的测试时,出现权限错误。
但是当尝试使用sudo运行测试时,它更改为sudo: go: command not found
这是travis的错误代码段:
任何人都可以提供解决方案吗?
注意:
回答我自己的问题
根据评论编译,我尝试了2个选项
[首先是使用chmod 777 .
更新当前的工作目录权限(是的,我已经全部设置了,不想真正困扰travis的特定行为),但事实证明它不起作用。这次不确定原因,可能是动态生成的二进制文件也有权限问题
对我来说有效的解决方案是读取go
二进制路径,然后以sudo的身份重新运行它,如下所示
script:
- GO_EXECUTABLE_PATH=$(which go)
- echo $GO_EXECUTABLE_PATH
- sudo $GO_EXECUTABLE_PATH test ./...