为什么不去找我的卖家图书馆?

时间:2016-04-01 22:54:48

标签: go

package vpc_app / unit_test.go:

import (
    "github.com/my-org/my-library/http"
)
...

包github.com/my-org/my-library/http/http.go:

package http
...

文件结构:

$ tree
tree
.
├── glide.lock
├── glide.yaml
├── unit
│   └── modules
│       └── vpc
│           └── vpc-app
│               └── unit_test.go
└── vendor
    └── github.com
        └── my-org
            └── my-library
                ├── http
                │   └── http.go

问题:

当我运行go test ./...时,我收到此错误:

vendor/github.com/my-org/my-library/url_checker.go:7:2: cannot find package "github.com/my-org/my-library/http" in any of:
    /usr/local/go/src/github.com/my-org/my-library/http (from $GOROOT)
    /Users/josh/go/src/github.com/my-org/my-library/http (from $GOPATH)

问题:

我正在使用go 1.6,但它似乎没有在我的供应商目录中查找包。关于为什么会这样的任何想法?

更新#1: 根据要求,这是我的go env输出:

OARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/josh/go"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/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"

2 个答案:

答案 0 :(得分:1)

我的回购并非位于GOPATH。将其移至$GOPATH/src/github.com/my-org/my-library就可以了。

答案 1 :(得分:0)

该错误源自您的供应商文件夹中的vendor/github.com/my-org/my-library/url_checker.go

看起来 找到供应商文件夹,但问题是由第7行vendor/github.com/my-org/my-library/url_checker.go中的导入声明引起的

调查是否存在与供应商文件夹的递归依赖性问题。

为了清楚起见,您可以提供go env的输出吗?