GO(Golang)供应商在mac osx上的实验失败

GO(Golang)供应商在mac osx上的实验失败,go,osx-yosemite,vendor,Go,Osx Yosemite,Vendor,在osx上使用go 1.6.2进行go供应商实验时遇到一些问题 这是我的目录结构: /project /application main.go other.go /vendor /github.com /vendor_name /package_name 我已将我的GOPATH设置为/Users/me/project/application 然

在osx上使用go 1.6.2进行go供应商实验时遇到一些问题

这是我的目录结构:

/project
    /application
        main.go
        other.go
        /vendor
            /github.com
                /vendor_name
                    /package_name
我已将我的GOPATH设置为
/Users/me/project/application
然而,当我尝试运行任何go工具(例如构建)时,它似乎在查看
应用程序/src
,而不是
应用程序/vendor
,得到了很多这样的信息:

main.go:15:2: cannot find package "github.com/facebookgo/grace/gracehttp" in any of:
    /usr/local/Cellar/go/1.6.2/libexec/src/github.com/facebookgo/grace/gracehttp (from $GOROOT)
    /Users/me/project/application/src/github.com/facebookgo/grace/gracehttp (from $GOPATH)
正如您所看到的,go env output vendor实验在默认情况下是打开的,因为它应该是这样的,但似乎不起作用:

GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/me/project/application"
GORACE=""
GOROOT="/usr/local/Cellar/go/1.6.2/libexec"
GOTOOLDIR="/usr/local/Cellar/go/1.6.2/libexec/pkg/tool/darwin_amd64"
GO15VENDOREXPERIMENT="1"
CC="clang"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fno-common"
CXX="clang++"
CGO_ENABLED="1"
现在,有趣的来源可能是从以前的围棋安装遗留下来的。我安装了各种版本的go-over-time,有些是通过gvm(go版本管理器)安装的,有些是通过自制的。因此,我卸载了gvm及其安装的go版本,也卸载了homebrew的go版本,并使用homebrew重新安装了1.6.2版本

go版本输出:

go version go1.6.2 darwin/amd64
其中:

/usr/local/bin/go
你知道哪里出了问题吗?或者我只是误解了自动售货机应该如何工作

另外,如果您需要更多信息,请告诉我,很乐意提供

它似乎在应用程序/src中查找

是的,go正在
$GOPATH/src
中查找您的来源和
供应商
来源文件夹

所有内容都应该在
$GOPATH/src

仅可通过“
供应商
”父目录树中的代码导入

但是它是您的源代码的一部分,因此,应该在
$GOPATH/src

下。谢谢,我已经成功了。我看了一些例子,这些例子似乎建议您可以删除/src文件夹。它单击了您的答案,您可以从vendor目录中删除src,但vendor目录必须位于/src下面。我真的很讨厌golang的自动售货机工作方式,这只是一个小小的改进。我的新设置是将home/me/projects设置为我的gopath,在该路径下有一个src文件夹,然后在该文件夹下,我将所有项目保留在各自的供应商文件夹中,并具有各自的依赖项。这似乎奏效了。