在osx上使用go 1.6.2工具时遇到了一些麻烦。GO(Golang)供应商实验在mac osx上失败
继承人我的目录结构:
/project
/application
main.go
other.go
/vendor
/github.com
/vendor_name
/package_name
我有我的GOPATH设置为/Users/me/project/application
然而,当我尝试运行任何的旅途工具(如编译)这似乎是在寻找application/src
而非application/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)
正如你可以看到去ENV输出厂商的实验是在默认情况下,它应该是它只是似乎没有工作:
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"
现在,funkiness的来源可能是之前安装的宿醉。我已经安装了各种版本,一些通过gvm(去版本管理器),一些通过自制软件。所以我卸载了gvm和它已经安装的版本,也停止了使用自制软件,并且使用自制软件重新安装了1.6.2。
去版本输出:
go version go1.6.2 darwin/amd64
哪去了:
/usr/local/bin/go
任何想法可能已经错在这里,还是我也许只是误解vendoring应该如何工作?
P.S.请ELT我知道如果你需要更多的信息,竭诚为客户提供
谢谢,我得到了这个工作。我看了一些似乎建议你可以删除/ src文件夹的例子。它点击你的答案,你可以从供应商目录中删除src,但供应商目录必须位于/ src下面。我真的很讨厌在golang工厂开展工作的方式,这是一个小改进。我的新设置是让home/me /项目成为我的gopath,在其下有一个src文件夹,然后我将所有项目与他们自己的供应商文件夹保存在一起,并具有单独的依赖关系。这似乎工作。 – WebweaverD