NIUCLOUD是一款SaaS管理后台框架多应用插件+云编译。上千名开发者、服务商正在积极拥抱开发者生态。欢迎开发者们免费入驻。一起助力发展! 广告
当你在Cargo.toml里写版本号的时候,比如image = "0.6.1",cargo会宽松地匹配,它会使用兼容0.6.1版本的最新版本。兼容规则和semver相同,规则如下: 以0.0开头的版本是非常原始的版本,cargo认为它和其它任何版本都不兼容; 以0.x(x非零)开头的版本被认为和其它的0.x系列版本兼容,比如0.6.3和0.6.1版本是兼容的,但是0.7.1和0.6.1版本不兼容; 一旦版本号达到了1.0,只要主版本号一样就是兼容的,比如2.17.99和2.0.1版本兼容,但是3.0.1和2.0.1不兼容。 版本号默认是弹性的,但是可以指定精确的版本号,比如: image = "=0.10.0" image = ">=1.0.5" image = "<=2.7.10" image = ">1.0.5 <1.1.9" 偶尔你会看到版本号里有通配符\*,表示任意版本都可以,除非其他的Cargo.toml文件里指定了一个更明确的版本约束,否则cargo会用最新的版本。 兼容性规则是库的提供者和使用者之间的约定,如果你维护了一个库当前版本号是1.7,这时你决定删除一个函数或者其他不兼容的修改,你应该让版本号跳到2.0。