My $GOPATH is

"/Users/peter/goworkspace"

Golang 版本是:

go version go1.6 darwin/amd64

在这个workspace下我有多个不同golang项目,目录结构类似于

+/goworkspace
+---/bin
+---/pkg
+---/src
+---/project1
+---package1
+---file1.go
+---file2.go
+---file3.go
+---package2
+---package3
+---main.go
+---/project2
+---/project3

在proj1下的main.go中,我用相对路径的方式引用了proj1下的其它package

import(
"./package1"
"./package2"
"./package3"
)

但是当我 run go build的时候,go编译器一直提示报错:

" can't load package: local import "../package" in non-local package“

我尝试不用相对路径引入package的话

import(
"project1/package1"
"project1/package2"
"project1/package3"
)

就能编译成功。

所以,我第一个main.go中为什么会编译出错呢?
如果不引用相对路径导入包的话,那如果我以后重命名这个project的话,那是否导入的包爷得重新改写?

05-06 22:27