我正在尝试通过 exec.Command 自动化构建,我的命令如下:exec.Command("/usr/bin/go", "build", "/path/to/my/go/project")但编译器说无法导入绝对路径注意:/path/to/my/go/project是包含的文件夹go.mod
1 回答
jeck猫
TA贡献1909条经验 获得超7个赞
包是相对于导入路径的。没有“绝对”导入的能力。
虽然规范中没有具体说明,但它确实在https://golang.org/ref/spec#ImportPath中提到了它:
ImportPath 的解释取决于实现,但它通常是已编译包的完整文件名的子字符串,并且可能与已安装包的存储库相关。
相对导入和销售可能对您有用(请参阅 GO 1.5 销售实验,现在在 1.6 中可用https://docs.google.com/document/d/1Bz5-UB7g2uPBdOx-rw5t9MxJwkfpx90cqG9AFL0JAYo/edit?pref=2&pli= 1 )
另一种方式:您可以在 cmd.Dir 变量中添加 Working_dir。
cmd := exec.Command("/usr/bin/go", "build")
cmd.Dir = "/path/to/my/go/project"
cmd.Run()
- 1 回答
- 0 关注
- 123 浏览
添加回答
举报
0/150
提交
取消