1 个不稳定版本
0.1.0 | 2021年10月4日 |
---|
#290 在 模板引擎
200KB
Crates.io
创建并登录Crates.io账号
发布crate之前,需要在crates.io创建账号(使用github授权登录)并获得API token
运行命令: cargo login [你的API token]
- 通知cargo,你的API token存储在本地
~/.cargo/credentials
文件中
- 撤销之前设置的token
为新的crate添加元数据
在发布crate之前,需要在 Cargo.toml
的 [package]
区域为crate添加一些元数据
- crate需要唯一的名称(name)
- 在Crates.io上搜索,看是否已被占用
- description:一两句话即可,会出现在crate搜索结果中
- license:需要提高许可证标识值(可到 http://spdx.org/licenses/ 查找)
- 可指定多个license,用 OR 隔开
- version
- author
cargo publish发布
cargo publish
一旦发布,就是永久性的
crate一旦发布,就是永久性的
- 版本无法覆盖
- 代码无法删除
这是因为Crates.io希望成为一个永久的代码文档服务器,并保证所有依赖于Crates.io的包都能一直正常构建
如果允许开发者删除已经发布的版本,那就根本无法达到这个目的。
发布已存在crate的新版本
修改crate后,需要先修改Cargo.toml里面的version值,再进行重新发布
参照 http://semver.org/ 来更新你的语义版本
错误汇总
- 登入Crates.io的账号必须要验证邮箱
Cargo.toml内必须包含的[package]
元信息如本次提交所示
cargo yank撤回
cargo yank
命令可以从 Crates.io
撤回版本
cargo yank --vers 1.0.0
这里的撤回并不是指删除之前发布的版本,
而只是防止其他新的项目将其作为新的依赖
并不会影响已经存在的项目继续将其(这个版本)作为依赖和下载
- 即那些已经记录在 Cargo.lock 中的项目并不会中断对该版本的使用
- 但任何在我们撤回动作之后的项目都无法使用这个被yank的版本
取消撤回
我们还可以取消我们的撤回
cargo yank --vers 1.0.0 --undo