【问题标题】:Running "go get github.com/libp2p/go-libp2p" results in error messages运行“go get github.com/libp2p/go-libp2p”会导致错误消息
【发布时间】:2019-05-26 17:09:02
【问题描述】:

我是 golang 的初学者。当尝试运行“go get github.com/libp2p/go-libp2p”时,我收到一条错误消息,阻止我运行测试和基准测试。

这是错误:

github.com/libp2p/go-libp2p/p2p/host/routed

../../libp2p/go-libp2p/p2p/host/routed/routed.go:153:20:无法使用 rh.host.Mux() (类型 “github.com/libp2p/go-libp2p-core/protocol”.Switch)作为类型 *multistream.MultistreamMuxer 在返回参数中:需要类型断言 ../../libp2p/go-libp2p/p2p/host/routed/routed.go:190:5:不能使用 (*RoutedHost)(nil) (类型 *RoutedHost) 作为类型 “github.com/libp2p/go-libp2p-core/host”.Host 在分配: *RoutedHost 未实现“github.com/libp2p/go-libp2p-core/host”.Host(Mux 类型错误 方法) 有 Mux() *multistream.MultistreamMuxer 想要 Mux() "github.com/libp2p/go-libp2p-core/protocol".Switch

github.com/libp2p/go-libp2p/p2p/host/basic

../../libp2p/go-libp2p/p2p/host/basic/basic_host.go:145:32:不能使用 h (type *BasicHost) as type host.Host in argument to 识别.NewIDService: *BasicHost 没有实现 host.Host(Mux 方法的类型错误) 有 Mux() *multistream.MultistreamMuxer 想要 Mux() "github.com/libp2p/go-libp2p-core/protocol".Switch ../../libp2p/go-libp2p/p2p/host/basic/basic_host.go:172:32:不能使用 h (type *BasicHost) as type host.Host in argument to ping.NewPingService: *BasicHost 没有实现 host.Host(Mux 方法的类型错误) 有 Mux() *multistream.MultistreamMuxer 想要 Mux() "github.com/libp2p/go-libp2p-core/protocol".Switch

我不明白为什么会出现错误消息。看起来 go-libp2p 无法编译。有什么想法吗?

【问题讨论】:

  • 你的 Go 版本是什么?
  • 你应该问问那个包的维护者
  • 我的 golang 版本是 go1.12.2。我发现我的项目中对 libp2p 的依赖适用于 0.0.23 版本,而“go get”正在获取 0.0.30 版本。检查获取版本 0.0.23 是否可以解决问题。

标签: go


【解决方案1】:

他们一直在执行refactor,导致this issue 被提交。

提供了解决方案:


【讨论】:

    猜你喜欢
    • 2020-02-29
    • 1970-01-01
    • 1970-01-01
    • 2022-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-03
    • 2022-06-14
    相关资源
    最近更新 更多