Rust 错误:使用锈迹板条箱'secp256k1'时,在'rand'中找不到'rng'`

Rust 错误:使用锈迹板条箱'secp256k1'时,在'rand'中找不到'rng'`,rust,rust-cargo,rust-crates,secp256k1,Rust,Rust Cargo,Rust Crates,Secp256k1,我是新手,尝试将secp256k1板条箱与 我的代码非常简单 use secp256k1::rand::rng::OsRng; use secp256k1::Secp256k1; fn main() { let secp = Secp256k1::new(); let mut rng = OsRng::new().expect("OsRng"); } 带有Cargo.toml包含 [dependencies] secp256k1 = {version=&q

我是新手,尝试将
secp256k1
板条箱与

我的代码非常简单

use secp256k1::rand::rng::OsRng;
use secp256k1::Secp256k1;

fn main() {
    let secp = Secp256k1::new();
    let mut rng = OsRng::new().expect("OsRng");
}
带有
Cargo.toml
包含

[dependencies]
secp256k1 = {version="0.20.1", features = ["rand"]}
我们是不是错过了让这一切正常运转的东西


我尝试使用
rustc 1.22.1(b01adbbc3 2020-07-08)
,然后
rustc 1.51.0(2fd73fabe 2021-03-23)

尝试将
secp256k1::rand::rng::OsRng
更改为
secp256k1::rand::rngs::OsRng
。看起来模块被重命名了,
secp256k1
的作者还没有更新他们的文档。@骆家辉被重命名为
secp256k1::rand::rngs::OsRng
,但仍然收到一个新错误:在
rand::rngs
中没有
OsRng
,然后你还需要将
std
功能添加到
rand
。您可以通过将其添加为依赖项来实现这一点
rand={version=“0.6”,features=[“std”]}
0.6
secp256k1
使用的版本。您也可以将其添加到默认功能中,作为
[features]default=[“rand/std”]
,但我不确定这是否有效。@Locke添加
rand={version=“0.6”,features=[“std”]}
使其正常工作。谢谢
[dependencies]
secp256k1 = {version="0.20.1", features = ["rand"]}