小工具知识网

当前位置: 首页 > 行业知识 > RUST 每日一省:发布到crates.io

行业知识

RUST 每日一省:发布到crates.io

2026-11-13 01:58:43 来源:互联网转载

��       github是开源代码分享的地方,rust的开源项目除了github,我们还可以将其发布到 crates.io 上,然后其它用户就可以使用cargo进行安装使用了。其实步骤很简单,只有三条命令了,我们一次来看一下。

        1、cargo package

        首先,让 Cargo 帮你打个包:

        cargo package 命令会创建一个文件(这里是 target/package/xq-derive-0.1.0.crate),其中包含库的所有源文件,以及 Cargo.toml。这个文件就是你要上传到 crates.io 与世界共享的(可以通过 cargo package --list 来查看其中包含什么文件)。Cargo 随后会基于这个 .crate 文件构建库,就像最终用户一样,以确保没有问题。

        你可能会遇到很多问题,比如:

error: all dependencies must have a version specified when packaging.

        这是要求你的项目里,引用的crate必须是在crates.io上的,不能是本地引用的例如这种——image = {path = "vendor/image"}。

warning: manifest has no description, license, license-file, documentation,

        这种是,Cargo 认为 Cargo.toml 中缺少一些对下游用户来说非常重要的信息,比如你的代码以什么许可来发布。警告信息中的 URL 是很好的参考资源,因此这里就不详细解释了。简单来说,只要在 Cargo.toml 中添加以下几行内容就可以消除警告:

[package]name = "xq-derive"version = "0.1.0"edition = "2018"authors = ["Kent Xu "]description = "Used to write eDSL proc-macro ."license = "MIT OR Apache-2.0"homepage = "https://github.com/XuHugo/xq-derive"repository = "https://github.com/XuHugo/xq-derive"documentation = "https://github.com/XuHugo/xq-derive"

2、cargo login

        执行命令前,先登录到 crates.io 并取得 API 密钥。可以使用github账号直接登入,然后再个人的设置页面,找到API Tokens,生成新的Token;然后使用命令:

 cargo login abcdefghijklmnopqrstuvwxyz012345

该命令将告诉 Cargo 你的 API Token,然后将其存储在本地的 ~/.cargo/credentials.toml 文件中。注意这个 API 密钥就像密码一样要保密。所以要记住只在你自己控制的计算机中运行这个命令。

3、cargo pushlish

直接项目根目录下,执行 cargo publish,就可以了。

需要注意的是,由于平时网络问题,我都使用国内的源,所以需要再命令后添加 --registry crates-io.

上一篇:visual studio配置node.js开发(完整版)

下一篇:王者荣耀下载指南及步骤详解