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

Iva*_*iaz 6 rust rust-cargo crate dnp3

我想使用这个库: https: //github.com/stepfunc/dnp3,但它不在 crates.io 上,它只有一个存储库,我无法实现它。我试图将它添加到我的Cargo.toml喜欢中[dependencies] dnp3 = "0.9.1",但它说它不存在,而且实际上它没有板条箱。在存储库中,它有一些示例,dnp3/exampleuse dnp3;好像它是一个板条箱一样。

我该如何使用这个?

Sir*_*ius 7

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

[dependencies]
dnp3 = { git = "https://github.com/stepfunc/dnp3" }
Run Code Online (Sandbox Code Playgroud)

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


小智 5

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

[dependencies]
dnp3 = { git = "https://github.com/stepfunc/dnp3" }
Run Code Online (Sandbox Code Playgroud)

如果你想指定一个分支(假设你不想使用main/ master),你可以branch在上面的声明中添加一个键:

[dependencies]
dnp3 = { git = "https://github.com/stepfunc/dnp3", branch = "feature/rustls" }
Run Code Online (Sandbox Code Playgroud)

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