我正在嘗試通過 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 關注
- 145 瀏覽
添加回答
舉報
0/150
提交
取消