Crates.io | rust-package-template |
lib.rs | rust-package-template |
version | 0.1.0 |
source | src |
created_at | 2021-10-04 06:02:56.928888 |
updated_at | 2021-10-04 06:02:56.928888 |
description | A tutorial for publishing Rust packages |
homepage | |
repository | |
max_upload_size | |
id | 459972 |
size | 210,848 |
发布crate前, 需要在 crates.io 创建账号(使用github授权登录)并获得API token
运行命令: cargo login [你的API token]
~/.cargo/credentials
文件中在发布 crate 之前, 需要在 Cargo.toml
的 [package]
区域为 crate 添加一些元数据:
cargo publish
crate 一旦发布, 就是永久性的
这是因为 Crates.io 希望成为一个永久的代码文档服务器, 并保证所有依赖于 Crates.io 的包都能一直正常构建
如果允许开发者删除已经发布的版本, 那就根本无法达到这个目的。
修改 crate 后, 需要先修改 Cargo.toml 里面的 version 值, 再进行重新发布
参照 http://semver.org/ 来更新你的语义版本
Cargo.toml 内必须包含的[package]
元信息如本次提交所示
cargo yank
命令可以从 Crates.io
撤回版本
cargo yank --vers 1.0.0
这里的撤回 并不是指 删除之前发布的版本,
而只是防止其它新的项目把它作为新的依赖
并不会影响已经存在的项目继续将其(这个版本)作为依赖和下载
我们还能取消我们的撤回
cargo yank --vers 1.0.0 --undo