2个版本
0.1.1 | 2024年2月22日 |
---|---|
0.1.0 | 2024年2月22日 |
#757 in 开发工具
5KB
13.4 将包发布在crates.io
本节主要讲解如何将我们编写的包发布到crates.io上,以便其他开发者使用。
13.4.1 在crates.io上登录获取API Token
首先,我们需要在crates.io登录账号,目前它只支持github账号登录,登录成功后,在头像处,我们进入,账户设置,然后生成一个API TOKEN,接下来我们先创建一个包。
13.4.2 配置一个发布包
我们先生成一个新的库包,使用命令cargo new learn-rust-publish
,然后我们在github上面建立一个仓库,然后在我们的项目中执行git init -y
,然后使用git remote add origin 你的仓库地址
将项目和远程地址管理起来,将代码初始化到仓库中,后续在发布前也需要将代码更新到仓库中,再执行发布流程。
13.4.2.1 为包添加元数据
打开项目,进入到Cargo.toml
中,在[package]
中配置元数据信息,如下:
[package]
# 创建项目默认添加
name = "learn-rust-publish"
version = "0.1.0"
edition = "2021"
# 需要添加
email = "your email"
description = "learn how to publish rust library"
license = "MIT OR Apache-2.0"
repository = "https://github.com/1847016090/learn-rust-publish"
其中前三项是创建项目时默认生成的,我们只需要添加后面几项即可。
13.4.2.2 登录 & 发布
然后我们先来执行cargo login
命令执行登录,然后将我们刚才生成的API TOKEN填入即可登录成功。我们接着再执行cargo publish
,发现如下报错
the remote server responded with an error: A verified email address is required to publish crates to crates.io. Visit https://crates.io/settings/profile to set and verify your email address.
我们需要点击链接去验证一下我们的邮箱即可。验证完后,再执行cargo publish
就能成功发布我们的包了(我发布的包)。
13.4.2.3 撤销或重新发布新版本包
当我们发布了一个版本的包之后,我们就不能再次覆盖这个包了。但是我们使用cargo yank --vers 0.1.0
撤销当前版本的包(只针对新包。如果有项目已经安装了当前版本的包,Cargo.lock文件已经存在当前版本,它依旧可以继续使用当前版本的包)。
当然,如果我们想取消撤销,我们执行cargo yank --vers 0.1.0 --undo
就行。
如果我们想发布新的版本,我们只需要修改我们Cargo.toml
文件中的version
字段即可