我有以下golang项目结构:
- go-projects
- src
- github.com
- user
- my-project
- pack
- pack.go
- main.go
我的GOPATH
是:
export GOPATH=/home/user/go-projects
我试图在pack
文件中调用main.go
包中的函数并尝试使用以下代码构建此项目:
cd my-project
go build && go-install
没有任何输出,并且任何地方都没有bin
目录。我做错了什么?
UPD 此问题已解决。意外地误解了main.go和pack.go的文件内容。但现在又出现了另一个问题。
如何正确构建此程序。当我试图执行/home/user/go-projects/src/github.com/user/my-project
时,我会跟踪错误:
main.go:4:8: cannot find package "github.com/user/pack" in any of:
/home/user/Downloads/go/src/pkg/github.com/user/pack (from $GOROOT)
/home/user/go-projects/src/github.com/user/pack (from $GOPATH)
谢谢
答案 0 :(得分:3)
虽然让工具从当前工作目录推断软件包可能很方便,但它不仅仅适用于简单的main
软件包。习惯于通过完整的导入路径引用包,并且您可以自行解决其他问题。
go install github.com/user/pack
答案 1 :(得分:1)
进入$GOPATH/bin/my-project
,如果你想立即测试它,只需使用go run main.go