每隔一段时间,我会使用一个go包,其中包含:go get github.com/<user>/aRepo
并且在其自己的import语句中有import "github.com/<user>/aRepo"
。所以它使用“go gettable”路径导入自己。有时这很好用;但是,有时我会
package github.com/<user>/aRepo
imports github.com/<user>/aRepo
imports github.com/<user>/aRepo: cannot find package "github.com/<user>/aRepo" in any of:
/usr/local/go/src/github.com/<user>/aRepo (from $GOROOT)
/home/me/go/src/github.com/<user>/aRepo (from $GOPATH)
我设置了我的GOPATH:
export GOPATH=$GOPATH:/home/me/go:`godep path`
目前还不清楚为什么会发生这种情况,为什么会有任何想法?
修改
我的go env
:
GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH=":/home/vagrant/go"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0"
CXX="g++"
CGO_ENABLED="1"
答案 0 :(得分:2)
因此我发现这是一个权限问题,因为我使用的是带有同步文件夹的vagrant box,vagrant将同步文件夹创建的整个路径设置为744 root:root。因此,我无法以非root用户身份写入该文件夹,因此该错误消息实际上来自godep尝试自行安装而未找到其src。