作者:完美美容店 | 来源:互联网 | 2022-12-27 13:49
我正在使用Golang(此时为1.9),并使用GitLab 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]
该core/otherproj
项目是私有的,但可通过SSH克隆,这是我目前的解决方法.
我的主要问题是依赖项中的私有项目最常使用,但有时候,go get
它们始终失败.
值得注意的是,这otherproj/otherpkg
只是测试中的依赖proj/mypkg
; 不是它的主要功能.
我的问题是 ; 为什么这个特定的依赖关系不能下载go get
,如何下载?
谢谢.
1> Flimzy..:
从文档(也可通过go get --help
):
-t标志指示get还下载构建指定包的测试所需的包.
因此,您需要运行go get -t
以下载测试依赖项.