Go get 不获取所有依赖项

Go get not fetching all dependencies

我在 Windows 8.1 64 位上使用 go 1.5.1。我的环境中没有设置 GO15VENDOREXPERIMENT。我安装了最新版本的 git 和 bazaar。

我正在尝试获取 gomniauth 包裹:

go get github.com/stretchr/gomniauth

即使该过程没有任何错误地完成,很多依赖项也没有被拉入。

例如,在编译我的应用程序(依赖于 gomniauth)时,我遇到了这些错误:

..\github.com\stretchr\codecs\xml\simple_xml_codec.go:5:2: cannot find package "github.com/clbanning/x2j" in any of:
    C:\Go\src\github.com\clbanning\x2j (from $GOROOT)
    C:\work\src\github.com\clbanning\x2j (from $GOPATH)
..\github.com\stretchr\codecs\msgpack\msgpack_codec.go:6:2: cannot find package "github.com/ugorji/go/codec" in any of:
    C:\Go\src\github.com\ugorji\go\codec (from $GOROOT)
    C:\work\src\github.com\ugorji\go\codec (from $GOPATH)
..\github.com\stretchr\codecs\bson\bson_codec.go:5:2: cannot find package "labix.org/v2/mgo/bson" in any of:
    C:\Go\src\labix.org\v2\mgo\bson (from $GOROOT)
    C:\work\src\labix.org\v2\mgo\bson (from $GOPATH)

它似乎为 gomniauth 引入了直接依赖项,但没有引入依赖项的依赖项。我已经从我的 GOPATH/srcGOPATH/pkg 中删除了 stretchr 文件夹,但是在 运行 go get 多次之后,它仍然没有拉入第二层以外的任何依赖项。

我 100% 确信我这边没有网络问题。我可以使用浏览器或 curl 访问那些 github 存储库。

将目录更改为您的项目,然后尝试 go get ./...
例如:

cd C:\work\src\github.com\stretchr\gomniauth
go get ./...

或者 go get github.com/stretchr/gomniauth/... Amit Kumar Gupta 建议

在我的例子中,我遗漏了 bzr package

在使用 dnf install bzr 和 运行 @RoninDev 建议添加后,它按预期工作:

cd $GOPATH/src/github.com/stretchr/gomniauth
go get ./...