测试依赖性不是由`go get`检索的

Hel*_*röm 0 go gitlab

我正在使用Golang(此时为1.9),并使用Gi​​tLab CI来测试和构建二进制文件和Docker容器.

对于某些项目,我遇到了这个问题(GitLab CI输出):

$ go get
$ go get -u github.com/golang/lint/golint
$ go tool vet -composites=false -shadow=true *.go
$ golint ./...
$ go test --race $(go list ./... | grep -v /vendor/)
# gitlab.my.site/core/proj/mypkg mypkg/mypkg_test.go:18:2: cannot find package 
"gitlab.my.site/core/otherproj/otherpkg" in any of:
/usr/local/go/src/gitlab.my.site/core/otherproj/otherpkg (from $GOROOT)
    /go/src/gitlab.my.site/core/otherproj/otherpkg (from $GOPATH)
FAIL    gitlab.my.site/core/proj/mypkg [setup failed]
Run Code Online (Sandbox Code Playgroud)

core/otherproj项目是私有的,但可通过SSH克隆,这是我目前的解决方法.

我的主要问题是依赖项中的私有项目最常使用,但有时候,go get它们始终失败.

值得注意的是,这otherproj/otherpkg只是测试中的依赖proj/mypkg; 不是它的主要功能.

我的问题是 ; 为什么这个特定的依赖关系不能下载go get,如何下载?

谢谢.

Fli*_*mzy 6

文档(也可通过go get --help):

-t标志指示get还下载构建指定包的测试所需的包.

因此,您需要运行go get -t以下载测试依赖项.