我想谨慎地发布一个新版本的 crate ,让用户有机会首先测试它.我怎样才能把它放进 crate .io作为"测试版"?(类似于npm有@next
个带标签的发布).
这不应该是一个突破性的改变,所以我不会增加semver主要版本.我不希望在beta测试期结束前,当用户完成cargo upgrade
次测试时自动 Select 它.
发布时我应该使用什么版本语法?
释放时我需要使用任何特殊Cargo 选项吗?
用户如何使用
cargo
/Cargo.toml
Select 进入测试版?
我想谨慎地发布一个新版本的 crate ,让用户有机会首先测试它.我怎样才能把它放进 crate .io作为"测试版"?(类似于npm有@next
个带标签的发布).
这不应该是一个突破性的改变,所以我不会增加semver主要版本.我不希望在beta测试期结束前,当用户完成cargo upgrade
次测试时自动 Select 它.
发布时我应该使用什么版本语法?
释放时我需要使用任何特殊Cargo 选项吗?
用户如何使用cargo
/Cargo.toml
Select 进入测试版?
Semantic versioning定义了pre-release version的概念:
预发布版本可以通过在补丁版本之后立即添加连字符和一系列点分隔标识符来表示.标识符必须仅包含ASCII字母数字和连字符[0-9A-Za-z-].标识符不能为空.数字标识符不得包含前导零.预发布版本的优先级低于关联的正常版本.预发布版本表示该版本不稳定,可能无法满足相关正常版本所表示的预期兼容性要求.示例:1.0.0-alpha,1.0.0-alpha.1,1.0.0-0.3.7,1.0.0-x.7.z、 92
要在Cargo 中使用此功能,请发布一个计划版本号的 crate ,但附加一个预发布标识符.我建议-beta.0
,如果你需要一秒钟,可以轻松增加:
[package]
name = "library"
version = "0.1.1-beta.0"
要使用它,您需要在版本要求中加入beta
,以明确 Select :
[dependencies]
library = "0.1.1-beta"
为了测试这一点,我:
library = "0.1.0"
-解析为0.1.0cargo update
次——did not版发生变化.library = "0.1.1-beta"
,运行cargo update
——did版的变化.cargo update
次——did版发生变化.