项目结构
-bin
-pkg
-src
-test
-message
message.go
main.go
main.go 中 使用 import "./message"
执行go run main.go可以执行
但是go build 提示 local import "./message" in non-local package
使用 import "test/message" 才行
如果我test目录托管在git
项目中使用 import "test/message"
在其他机子上clone下来存在文件夹 testother 中就会导致依赖路径错误...
这个本地自定义包该如何引用?保证随意clone下来的都可以正常编译?
肯定是我姿势错了,请指教
通常情况下,import的包都是相对
$GOPATH/src
目录引入的,比如从github上面clone下来的项目,直接放到$GOPATH/src
目录下,就可以直接import。例如:如果项目的import路径是这样写的:
import "github.com/yourname/projectname"
需要将项目代码放置在:
$GOAPTH/src/github.com/yourname/projectname/
下如果项目的import是这样写的:
import "message"
则将
message.go
放到:$GOAPTH/src/message/
目录下即可。