在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