如何使用 crates.io 上没有的库?

问题描述 投票:0回答:3

我想使用这个库:https://github.com/stepfunc/dnp3,但它不在crates.io上,它只有一个存储库,我无法实现它。我尝试将它添加到我的

Cargo.toml
中,就像
[dependencies] dnp3 = "0.9.1"
一样,但它说它不存在,而且实际上它没有板条箱。在存储库中,它在
dnp3/example
中有一些示例,其中有
use dnp3;
,就好像它是一个板条箱一样。

我该如何使用这个?

rust dependencies rust-cargo rust-crates
3个回答
10
投票

您可以直接指定 Github(或任何其他 git 存储库)作为依赖项的来源。

[dependencies]
dnp3 = { git = "https://github.com/stepfunc/dnp3" }

请参阅 Cargo 参考:https://doc.rust-lang.org/cargo/reference/specifying-dependency.html#specifying-dependency-from-git-repositories


6
投票

您可以将依赖项指定为 Git 存储库。

[dependencies]
dnp3 = { git = "https://github.com/stepfunc/dnp3" }

如果你想指定一个分支(假设你不想使用

main
/
master
),你可以在上面的声明中添加一个
branch
键:

[dependencies]
dnp3 = { git = "https://github.com/stepfunc/dnp3", branch = "feature/rustls" }

相关阅读:指定 git 存储库的依赖项


5
投票

另一种方法是克隆存储库并使用具有本地路径的依赖项。

[dependencies]
dnp3 = { path = "../dnp3" }

相关 Rust docs

但是当然,正如其他答案提到的,使用 git 版本在你的情况下更好。

© www.soinside.com 2019 - 2024. All rights reserved.