【发布时间】:2016-12-25 08:09:42
【问题描述】:
我在 MacOS Sierra 中使用 go-1.7。
我的项目位于我的 $GOPATH/src 文件夹中,并且其中有一个 vendor 文件夹,其中包含所有依赖项。
我在我的代码中使用这样的依赖项:
import (
"github.com/google/go-github/github"
)
现在,如果我运行 go build,我会收到一条消息,即在另一个 $GOROOT 和 $GOPATH 中找不到我使用的所有依赖项,并且在我的代码中添加“供应商”正在工作:
import (
"vendor/github.com/google/go-github/github"
)
但据我所知,应该可以在第一个代码被剪掉时喜欢。
仅供参考,没有符号链接等。
【问题讨论】:
-
你的代码是直接在$GOPATH/src吗?这就是问题所在。即使使用供应商目录,您的代码仍必须位于 $GOPATH 内它自己的子目录中(例如 $GOPATH/src/foo)
-
它在一个子文件夹中($GOPATH/src/project)
-
go build应该列出它搜索的路径。其中一个应该在路径之后有“(供应商树)”。在您的情况下,它应该列出“$GOPATH/src/project/vendor/github.com/google/go-github/github”。如果不是,则 go 工具无法识别您的供应商目录。 -
我知道它列出了它们,但只列出了 $GOPATH 和 $GOROOT...所以是的,它无法识别我的供应商文件夹,这就是我要修复的 ^^