我刚开始处理要本地化的示例代码。
在原来的 main.go
导入语句中是:
import (
"log"
"net/http"
"github.com/foo/bar/myapp/common"
"github.com/foo/bar/myapp/routers"
)
现在我有 common
和 routers
包在 /home/me/go/src/myapp
所以我将导入语句转换为:
import (
"log"
"net/http"
"./common"
"./routers"
)
但是当我运行 go install myapp
我得到这些错误:
can't load package: /home/me/go/src/myapp/main.go:7:3: local import "./common" in non-local package
Also, when I use common
and routers
instead of ./common
and ./routers
in the import statement, I get:
myapp/main.go:7:3: cannot find package "common" in any of:
/usr/local/go/src/common (from $GOROOT)
/home/me/go/src/common (from $GOPATH)
myapp/main.go:8:2: cannot find package "routers" in any of:
/usr/local/go/src/routers (from $GOROOT)
/home/me/go/src/routers (from $GOPATH)
我怎样才能解决这个问题?
原文由 Karlom 发布,翻译遵循 CC BY-SA 4.0 许可协议
好吧,我想通了这个问题。基本上 Go 的导入起始路径是
$HOME/go/src
所以我只需要在包名前添加
myapp
,即导入应该是: