我希望以最简单和轻量的方式(无需异步操作)使用
当我看到“没有异步运行时”时,我不希望看到
rust-s3
crate。默认情况下,此 crate 使用 tokio
。因此,我按照 rust-s3
的 README 中所写的做法执行:
因此,在我的使用
default-features = false
sync
- 无异步运行时,使用attohttpc
进行 HTTP 请求
Cargo.toml
文件中,我添加了以下内容:[dependencies]
rust-s3 = { version = "0.28.1", default-features = false, features = ["sync"] }
当我看到“没有异步运行时”时,我不希望看到
tokio
作为依赖项被添加。然而,tokio
仍在被添加。查看该包的Cargo.toml
文件,我发现它有一个(非可选)依赖关系tokio-stream
,而tokio-stream
又依赖于tokio
。这是我项目中输出的结果:├── tokio-stream v0.1.8
│ ├── futures-core v0.3.19
│ ├── pin-project-lite v0.2.8
│ └── tokio v1.15.0
│ └── pin-project-lite v0.2.8
在我看来,以这种方式编写的包似乎不可能避免将tokio
添加为依赖项。我是正确的还是有什么地方我忽略了?
tokio_stream
依赖似乎只在src/request.rs
中使用,而该文件仅在启用特性with-tokio
时才包含,而sync
没有激活该特性。不过,您可能需要在他们的 Github 上开一个问题来确保。 - Filipe Rodrigues