本文介绍如何在 https://crates.io 上发布自己的 Rust crates。
crates.io 介绍
如何发布自己的 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 上是唯一的
description
crate 描述,会出现在搜索结果中
version
license
许可证,在 https://spdx.org/licenses/ 查找 license 标识,多个 license 使用 OR
分隔
author
发布 & 更新版本
cargo publish
说明:
- 若发布有问题,请根据提示修复
- 新版本,请修改
Cargo.toml
中的 version
值后重新发布
查看自己发布的 crates
https://crates.io/dashboard
版本撤销
- 为保证依赖于该 crate 的项目可以正常工作,crate 一旦发布代码无法删除和覆盖
- 可以使用
cargo yank
撤回版本
- 已经存在的项目可继续将其作为依赖
- 新项目不可依赖该版本
# 撤回指定版本
cargo yank --vers 0.1.1
# 取消撤回指定版本
cargo yank --vers 0.1.1 --undo
发布示例