gpt4 book ai didi

rust - 如何使用筏 crate 和 cargo build ?

转载 作者:行者123 更新时间:2023-12-03 11:37:04 24 4
gpt4 key购买 nike

我尝试构建single_mem_node example,但作为一个独立的示例,并将raft-rs crate 用作库。
但是不幸的是,当我使用cargo build进行构建时,出现了这个构建错误

error[E0599]: no method named `is_empty` found for reference `&raft_proto::protos::eraftpb::Snapshot` in the current scope
--> src/main.rs:123:26
|
123 | if !ready.snapshot().is_empty() {
| ^^^^^^^^ method not found in `&raft_proto::protos::eraftpb::Snapshot`
我已经在 Cargo.toml中声明了这些依赖关系
[dependencies]
protobuf = { version = "2", features = ["with-bytes"] }
raft = "0.6.0-alpha"
slog = "2.5.2"
slog-term = "2.6.0"
slog-async = "2.5.0"
有关如何使用 raft-rs条板箱的说明为:

You can use raft with either rust-protobuf or Prost to encode/decode gRPC messages. We use rust-protobuf by default. To use Prost, build (or depend on) Raft using the prost-codec feature and without default features.


看起来我好像错过了 protobuf周围的东西,但是呢?以及我如何找到它?

最佳答案

释放0.6.0-alpha版本后,该方法似乎添加了in this commit。 GitHub默认情况下显示master分支,因此将来尝试尝试浏览与您使用的版本相对应的提交。在这种情况下,它没有正确标记,但我认为是this commit is the published 0.6.0-alpha version。在该提交的示例中,the corresponding line为:

if !raft::is_empty_snap(ready.snapshot()) {

另外,由于 0.6.0-alpha似乎是在2019年7月发布的,因此如果您希望对 master进行最新更改,则可以将 Cargo.toml中的依赖项更改为:
raft = { git = "https://github.com/tikv/raft-rs" }
在这种情况下, cargo 将获取最新的提交并将其哈希存储在 Cargo.lock中,并且您可以使用 cargo update更新到较新的提交。

关于rust - 如何使用筏 crate 和 cargo build ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63528526/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com