gpt4 book ai didi

rust - 关于 cargo 依赖性的困惑

转载 作者:行者123 更新时间:2023-12-03 11:36:17 24 4
gpt4 key购买 nike

我来自Java背景,正在使用hyper库构建HTTP代理。因此,我在Cargo.toml中添加了hypertokio。我遵循的是http_proxy示例,但是首先必须将httpfutures-util添加到Cargo.toml。否则,rustc报告错误。

error[E0433]: failed to resolve: use of undeclared crate or module http
hyper crate 取决于 http,因此这意味着无法将 cargo 的依存关系共享给我的项目吗?
但是我在Clion的 http 0.2.3列表中看到了 External Libraries。在Maven构建的Java项目中,可以将依赖关系从jar共享到我的项目,因此我可以直接使用它。

最佳答案

The hyper crate depends on http, so it means the dependency in cargo can't be shared to my project? But I see the http 0.2.3 in Clion's External Libraries list. In a Java project built by Maven, the dependency can be shared from jar to my project, So I can use it directly.


没错您只能使用声明的直接依赖项:不能将间接依赖项假定为直接依赖项的API的一部分,因此可以在任何较小的更新中将其删除,从而破坏了semver保证。
但是,在某些情况下,直接依赖项将重新导出其自身依赖项的一部分(甚至是整个基础依赖项),例如“E_net4 with 20k”链接似乎是 hyper的情况,它会重新导出 http的部分内容。如果Hyper re-exports不足以满足您的用例,那么是的,您将必须对 http添加显式依赖项以访问超出此范围之外的需求。

关于rust - 关于 cargo 依赖性的困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65788500/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com