发布 Rust crates 到 crates.io
本文介绍如何在 https://crates.io 上发布自己的 Rust crates。
crates.io 介绍
- https://crates.io 作用
- 托管开源代码
- 分发已经注册的 crate
- Rust crate 单元包/库
如何发布自己的 Crates
发布准备
- 创建 crates.io 账号(或使用 github 账号登录),登录后验证邮箱
- 登录后 ->
用户名下点击 Account Settings->API Tokens->New Token,起一个名字,点击创建 - 本地登录:复制刚创建好的 token,格式为
cargo login <token>,在本地命令行执行,token 被保存在~/.cargo/credentials中,文件内容如下:
[registry]
token = "xxx"配置
修改 Cargo.toml:
[package]
name = "rustabc"
version = "0.1.0"
edition = "2021"
description = "some info"
license = "MIT OR Apache-2.0"
author = ["xiexianbin"]
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]必填字段:
name在 crates.io 上是唯一的descriptioncrate 描述,会出现在搜索结果中versionlicense许可证,在 https://spdx.org/licenses/ 查找 license 标识,多个 license 使用OR分隔author
发布 & 更新版本
cargo publish说明:
- 若发布有问题,请根据提示修复
- 新版本,请修改
Cargo.toml中的version值后重新发布- 版本参考:https://semver.org/
查看自己发布的 crates
版本撤销
- 为保证依赖于该 crate 的项目可以正常工作,crate 一旦发布代码无法删除和覆盖
- 可以使用
cargo yank撤回版本- 已经存在的项目可继续将其作为依赖
- 新项目不可依赖该版本
# 撤回指定版本
cargo yank --vers 0.1.1
# 取消撤回指定版本
cargo yank --vers 0.1.1 --undo