使用go mod模式,进行项目源码管理,可以解决不用在Gopath下的src目录下进行项目开发。

在go mod 下,解决自定义包倒入出错问题:

1
main.go:11:2: package hellogRPC/proto/hello is not in GOROOT (/Users/austsxk/Golang_dev/go/src/hellogRPC/proto/hello)

文件目录结构

解决的方法:

在每个包下,都使用go mod进行管理,对于需要在项目本地导入的包,可以在当前包的go mod文件中:

自定义导入包的路径,如上图所示,将在server包中使用到的hellogRPC/proto/hello包就命名为此,并在require中填入相关内容,初始化版本为v0.0.0,然后使用 replace 关键词 将其取代为相对于当前文件的包的相对路径。

在server包中就可以正常导入 hellogRPC/proto/hello

如下图所示:

使用项目中的包