Rust的cargo没有像maven一样的依赖传递吗?

在JAVA中A->B->C,那么在A中就可以使用C的内容,maven进行了依赖传递。
但是我在Rust中,A->B->C,这个时候A却无法引用C,必须要直接依赖于C,都是同版本的情况。
A -> B ->C
-> C


回答:

Rust 的 Cargo 包管理器和 Maven 不同,Rust 的依赖传递是私有的。也就是说,在 Rust 里,如果有一个依赖链 A -> B -> C,那么 A 只能访问 B 中公开导出的 API,而不能直接访问 C 里的内容。你想要在 A 中访问 C 的内容,你要把 C 作为 A 的直接依赖。


回答:

rust不存在这个. 依赖什么, 只由自己的 Cargo.toml 确定.

就算同一个包, 在一个项目里, 使用两个版本都没问题.
比如以下, 可以同时使用 foo包的0.1, git, 1.0三个版本, 不冲突.

[dependencies]

foo = "0.1"

bar = { git = "https://github.com/example/project", package = "foo" }

baz = { version = "1.0", package = "foo" }

以上是 Rust的cargo没有像maven一样的依赖传递吗? 的全部内容, 来源链接: utcz.com/p/945166.html

回到顶部