【发布时间】: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