rust 的包 (或者 库, library) 叫做 crate, 也就是软件中的一个组件。一个完整的软件通常由多个 crate 组成, rust 编译器 (rustc) 一次编译一整个 crate, 不同的 crate 可以同时并行编译。
rust 官方有一个集中发布开源包的网站,官网 :
crate.io 上发布了各种开发常用的工具库,可以很方便地在自己的项目中使用,从而加速我们的开发。
参考 : https://doc.rust-lang.org/cargo/reference/manifest.html
[package]
name = "hai-rust-test"
version = "0.1.0"
edition = "2021"
# 需要添加
email = "**@**.com"
description = "hai test"
license = "MIT OR Apache-2.0"
repository = "https://github.com/cnlesscode/hai-rust-test"
[dependencies]
可以使用 github 账户同步登录,首次登录需要邮件验证。
获得 token 后在本地运行命令 :
cargo login --registry crates-io
输入 token 完成本地记录。
3.1 创建项目
cargo new hai-rust-test
3.2 初始化仓库
echo "# hai-rust-test" >> README.md
git init
git add .
git commit -m "first commit"
git remote add origin https://github.com/cnlesscode/hai-rust-test.git
git push -u origin main
测试示例 : 在 src/lib.rs 中编写测试代码 :
pub fn say(){
println!("test say");
}
4.1 完善 README.md;
4.2 使用 cargo doc 编译文档;
注意 : 发布前先将最新版本代码提交至代码仓库。
cargo publish
发布后,在 creates.io 账户中心即可看到自己发布的包。
Cargo.toml:
[dependencies]
hai-rust-test = "0.1.0"
fn main() {
hai_rust_test::say();
}