2017-05-19 59 views
1

我有一個簡單的項目,使用請求示例通過HTTPS發出請求。我Cargo.toml有:爲什麼請求0.4.4嘗試使用openssl 0.9.12,儘管我的Cargo.toml中有openssl 0.7.14?

[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?

回答

2

Solicit在一年半內還沒有發佈新版本 - 0.4.4發佈於2015-09-07。版本0.4.3(0.4.4沒有任何理由的git標籤)requires any version of openssl,所以它只是拉最新的版本。無論您在您的 Cargo.toml中擁有什麼,因爲它是Solicit的重要依賴關係。

它不再是即使可能發佈一個箱子crates.io與*版本依賴!

當前主版本的Solicit有pinned to openssl 0.6,這是仍舊是的一箇舊版本。

在這個時候,似乎並不像Solicit是一個積極開發的庫。您可能希望研究其他解決方案或考慮提供補丁以更新依賴項。

如果您不需要任何其他需要OpenSSL支持的包,則可以使用Solicit的主分支版本,並使用舊版本的OpenSSL。

+0

謝謝!這個問題被問到,試圖解決如何[在Rust中使用客戶端證書提出請求](http://stackoverflow.com/questions/44059266/how-to-make-a-request-with-client-certificate-in-鐵鏽),Solicit是我迄今爲止唯一的選擇,你知道其他嗎? :( – Deoxyseia

相關問題