golang 远程导入失败

golang remote imports fail

我刚刚用自制软件安装了 golang,但我在导入远程包时遇到了问题。

当我尝试安装 demo.go 时,其中包含

import "github.com/bradfitz/gomemcache/memcache"

我收到以下错误

$ go install
demo.go:3:8: cannot find package "github.com/bradfitz/gomemcache/memcache" in any of:
/usr/local/Cellar/go/1.4/libexec/src/github.com/bradfitz/gomemcache/memcache (from $GOROOT)
/Users/white/go/src/github.com/bradfitz/gomemcache/memcache (from $GOPATH)

在我未经训练的眼睛看来,它只是在本地查看我的 GOPATH。

这意味着您需要先获取它:

go get github.com/bradfitz/gomemcache/memcache

这就是 bradfitz/gomemcache 推荐的内容。

你未经训练的眼睛不会骗你:go 编译器只会寻找存储在本地的代码。

但是,go get 工具可用于获取存储在远程存储库中的代码并将其复制到本地。所以,如果你输入:

go get github.com/bradfitz/gomemcache/memcache

您将获得 $GOPATH/src/github.com/bradfitz/gomemcache/memcache

中的代码副本

注意 github.com/bradfitz/gomemcahce/memcache 实际上是本地目录路径,因此您使用 import "github.com/bradfitz/gomemcache/memcache" 在代码中导入它。它恰好也是 go get 工具知道如何获取的远程存储库的名称。