【问题标题】:Go get not fetching all dependencies去获取不获取所有依赖项
【发布时间】:2016-11-30 21:22:12
【问题描述】:

我在 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 存储库。

【问题讨论】:

  • 您确定这些是gominiauth 的依赖项吗?如果是:你为什么确定?
  • 通过查看gomniauth 的来源及其依赖关系。 gomniauth 取决于 stretchr/codecs,而 clganning/x2jugorji/go/codeclabix.org/v2/mgo/bson

标签: go package-management


【解决方案1】:

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

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

或者就像 Amit Kumar Gupta 建议的那样,直接 go get github.com/stretchr/gomniauth/...

【讨论】:

  • 或者只是go get github.com/stretchr/gomniauth/...
  • go get github.com/stretchr/gomniauth/... 为我工作。 ... 有什么作用?没有出现在go get 的文档中:golang.org/cmd/go/… 另外,为什么需要...?用go get 安装东西的人不希望所有依赖项都可以工作吗?
  • 这是一个通配符。见stackoverflow.com/questions/28031603/…
  • 有道理,但是为什么默认行为不会自动扩展所有导入路径以便安装所有依赖项?
  • @AmitKumarGupta 当我运行 'go get github.com/stretchr/gomniauth/...' 我 get go: missing Bazaar command. See https://golang.org/s/gogetcmd package labix.org/v2/mgo/bson: exec: "bzr": executable file not found in %PATH% 我刚刚安装了 Bazaar 并设置了 %PATH% 我不确定发生了什么?
【解决方案2】:

就我而言,我错过了bzr package

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-12
    • 1970-01-01
    • 2013-06-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多