Semantic versioning définit la notion de pre-release version:
Une version préliminaire peut être représenté par un trait d'union et l'ajout d'une série de points séparés les identificateurs qui suit immédiatement la version du patch. Les identificateurs DOIVENT comprendre uniquement des caractères alphanumériques ASCII et un trait d'union [0-9A-Za-z-]. Les identifiants NE DOIVENT PAS être vides. Les identificateurs numériques NE DOIVENT PAS inclure de zéros en tête. Les versions préliminaires ont une priorité inférieure à la version normale associée. Une version préliminaire indique que la version est instable et peut ne pas satisfaire aux exigences de compatibilité prévues, comme indiqué par sa version normale associée. Exemples: 1.0.0-alpha, 1.0.0-alpha.1, 1.0.0-0.3.7, 1.0.0-x.7.z.92
Pour l'utiliser dans Cargo, publiez une caisse du numéro de version prévu, mais ajoutez un identifiant de pré-lancement. Je suggère -beta.0
, vous permettant d'augmenter facilement si vous avez besoin d'une seconde:
[package]
name = "library"
version = "0.1.1-beta.0"
Pour l'utiliser, vous devez opter spécifiquement en en mettant beta
dans l'exigence version:
[dependencies]
library = "0.1.1-beta"
Pour tester cela, je:
- Spun un serveur crates.io locale
- Uploaded la caisse bibliothèque avec la version 0.1.0
- Utilisé
library = "0.1.0"
dans un projet binaire application - Il est résolu à 0.1.0
- Téléchargé la caisse bibliothèque avec la version 0.1.1-beta.0
- Ran
cargo update
dans app - la version n'a pas modifié.
- Changé à
library = "0.1.1-beta"
dans app, a couru cargo update
- la version a fait changement.
- Uploaded la caisse bibliothèque avec la version 0.1.1-beta.1
- Ran
cargo update
dans app - la version a fait changement.
Réponse fantastique. Je vous remercie. – Kornel