我想使用这个库:https://github.com/stepfunc/dnp3,但它不在crates.io上,它只有一个存储库,我无法实现它。我尝试将它添加到我的
Cargo.toml
中,就像[dependencies] dnp3 = "0.9.1"
一样,但它说它不存在,而且实际上它没有板条箱。在存储库中,它在 dnp3/example
中有一些示例,其中有 use dnp3;
,就好像它是一个板条箱一样。
我该如何使用这个?
您可以直接指定 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
您可以将依赖项指定为 Git 存储库。
[dependencies]
dnp3 = { git = "https://github.com/stepfunc/dnp3" }
如果你想指定一个分支(假设你不想使用
main
/master
),你可以在上面的声明中添加一个branch
键:
[dependencies]
dnp3 = { git = "https://github.com/stepfunc/dnp3", branch = "feature/rustls" }
相关阅读:指定 git 存储库的依赖项
另一种方法是克隆存储库并使用具有本地路径的依赖项。
[dependencies]
dnp3 = { path = "../dnp3" }
相关 Rust docs
但是当然,正如其他答案提到的,使用 git 版本在你的情况下更好。