2015-06-14 7 views
14

Gibt es eine Seite, die die unterschiedliche Cargo-Syntax für Abhängigkeiten dokumentiert? Bisher habe ich drei ...Syntax der Cargo-Abhängigkeitsversion

gesehen
[dependencies] 
crate = "1.0.0" # I think this is an exact version match 
crate = "^1.0.0" # I think this means "use that latest 1.x.x" 
crate = "*"  # I think this means "use the latest" 

Ich würde gerne mit Sicherheit wissen, wie die Abhängigkeitsliste zu verwenden. Vielen Dank!

+2

Ich denke nicht, dass diese Frage abgelehnt werden sollte: Die Dokumentation dazu ist * nicht * an einem offensichtlichen Ort. Ich habe jede zweite Seite der Dokumentation auf 'crates.io' überprüft, weil ich mir die richtige Seite angeschaut habe, nur um erschöpfend zu sein. –

Antwort

15

Siehe crates.io documentation page on "Specifying Dependencies". Fassen wir zusammen:

  • Nichts oder ein Caret (^) bedeutet "zumindest diese Version bis zur nächsten inkompatible Version".

  • Eine Tilde (~) bedeutet "mindestens diese Version, bis (aber ausschließlich) die nächste kleine/große Version". Das heißt, ~1.2.31.2.X annehmen, wenn X mindestens 3 ist, ~1.21.2.* akzeptieren wird, und ~1 wird 1.*.* akzeptieren.

  • Ein Platzhalter (*) bedeutet "alles, was so aussieht". Das heißt, 1.2.* akzeptiert 1.2.anything (1.2.0, 1.2.7-beta, 1.2.93-dev.foo usw., aber nicht 1.3.0).

  • Ungleichungen (>=, >, <, =) bedeuten die Hand: Die Version Fracht Anwendungen die gegebene Ungleichung erfüllen muss.