我本打算使用vendor进行项目的包管理,但是在进入项目文件夹后运行$ govendor init
时报错,但是我的项目确实放在$GOPATH 目录下的文件中了。我所用代码如下:
$ cd ~/go/workplace/test
$ govendor init
此时,系统提示错误:
Error: Package "/home/zxt/go/workplace/test" not a go package or not in GOPATH.
使用$ go env
命令后显示如下:
`GOARCH="amd64"
GOBIN="/home/zxt/go/bin"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/zxt/go"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build356468034=/tmp/go-build -gno-record-gcc-switches"
CXX="g++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"`
$ tree
查看test文件夹结构如下:
└── main.go
0 directories, 1 file
我无法理解go package的概念,而且没有找到这个错误的原因。改如何才能成功使用govendor呢?
有疑问加站长微信联系(非本文作者)

我也遇到这个问题了。。如何解决啊
哦哦,解决问题了,是要放到GOPATH 下的src底下
什么意思啊,能详细说下吗?
export GOPATH="~/go/workplace/test"
cd ~/go/workplace/test/src && govendor init