2017-05-19 3 views
1

Ich habe ein einfaches Projekt, das das Beispiel Solicit verwendet, um eine Anfrage mit HTTPS zu stellen. Mein Cargo.toml hat:Wieso versucht 0.4.4 zu versuchen, Openssl 0.9.12 zu verwenden, obwohl ich Openssl 0.7.14 in meinem Cargo.toml habe?

[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"] 

Als ich versuchte, cargo build zu laufen, der Fehler ist:

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

Warum 0.9.12 statt 0.7.14?

Antwort

2

Solicit hat keine neue Version in über eineinhalb Jahren veröffentlicht - 0.4.4 wurde 2015-09-07 veröffentlicht. Version 0.4.3 (0.4.4 hat keinen Git-Tag, aus welchem ​​Grund auch immer) requires any version of openssl, so dass es nur die neueste mögliche Version einzieht. Es spielt keine Rolle, was Sie in Ihre Cargo.Toml haben, weil es Abhängigkeiten von Solicit ist, was zählt.

Es ist nicht mehr einmal möglich eine Kiste auf crates.io mit einer * Versionsabhängigkeit zu veröffentlichen!

Die aktuelle Master-Version von Solicit hat pinned to openssl 0.6, die ist noch eine alte Version.

Zu diesem Zeitpunkt scheint es nicht so, dass Solicit eine aktiv entwickelte Bibliothek ist. Möglicherweise möchten Sie alternative Lösungen untersuchen oder Patches zur Aktualisierung der Abhängigkeiten in Betracht ziehen.

Wenn Sie keine anderen Kisten benötigen, die OpenSSL-Unterstützung benötigen, können Sie möglicherweise die Master-Branch-Version von Solicit verwenden und nur die ältere Version von OpenSSL verwenden.

+0

Danke! Diese Frage wurde gestellt und versucht zu klären, wie [Anfrage mit Kundenzertifikat in Rust] gestellt werden kann (http://stackoverflow.com/questions/44059266/how-to-make-a-request-with-client-certificate-in- Rost), Solicit war die einzige Option, die ich bisher hatte, kennst du andere? :( – Deoxyseia