1

我有一个使用 Solicit 示例通过 HTTPS 发出请求的简单项目。我的 Cargo.toml 有:

[package]
name = "test"
version = "0.1.0"
authors = ["einchear"]

[dependencies.openssl]
version = "0.7.14"
features = ["tlsv1_2", "npn"]

[dependencies.solicit]
version = "0.4.4"
features = ["tls"]

当我尝试运行cargo build时,错误是:

error: Package `openssl v0.9.12` does not have these features: `npn, tlsv1_2`

为什么是 0.9.12 而不是 0.7.14?

4

1 回答 1

2

Solicit 已经一年半多没有发布新版本了——0.4.4 发布于 2015-09-07。0.4.3 版(0.4.4 出于某种原因没有 git 标签)需要任何版本的 openssl,所以它只是拉入最新的可能版本。Cargo.toml 中的内容并不重要,因为重要的是 Solicit 的依赖项。

甚至不再可能发布具有*版本依赖关系的 crate 到 crates.io!

当前 Solicit 的主版本已固定到 openssl 0.6,这仍然是一个旧版本。

在这个时间点上,Solicit 似乎不是一个积极开发的库。您可能希望研究替代解决方案或考虑提供补丁来更新依赖项。

如果您不需要任何其他需要 OpenSSL 支持的 crate,则可以使用 Solicit 的主分支版本,而只需使用旧版本的 OpenSSL。

于 2017-05-19T02:32:32.297 回答