制作crate并发布到Crates.io

news2024/11/25 20:37:41

准备


发布 crate 时, 一旦发布无法修改,无法覆盖, 因此要注意邮箱等一些个人信息

访问crates.io 的 帐号设定页面[1],生成Token

并在命令行 执行 cargo login your token

此命令将告诉 Cargo 你的 API 令牌, 并将其存储在本地 ~/.cargo/credentials

alt

crates.iocrate的名字, 会采取先到先得的方式分配.




打包 & 发布


对于 Cargo.toml:

[package]
name = "dashen"
version = "0.1.1"
authors = ["xxxx <x@xxxxxx.tech>"]
edition = "2018"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
ferris-says = "0.2"

执行cargo publish:

alt

这是因为缺少一些关键信息:关于该 crate 用途的描述和用户可能在何种条款下使用该 cratelicense

想要修正这个错误, 需要在 Cargo.toml 中引入这些信息.

描述通常是一两句话, 它会出现在 crate 的搜索结果中和 crate 页面里.

对于 license 字段, 需要一个 license 标识符值(license identifier value)

Linux 基金会的 Software Package Data Exchange (SPDX)[2] 列出了可以使用的标识符

例如指定 crate 使用 MIT License,可增加 MIT 标识符

[package]
name = "dashen"
version = "0.1.1"
authors = ["xxxx <xxx@xxxxx.tech>"]
edition = "2018"
description = "the first crate by xxxxx"
license = "MIT"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
ferris-says = "0.2"


再次执行 cargo publish:

alt

这是因为没有指定git仓库


新建一个仓库,指定为远程仓库,并提交代码

alt
alt

再次执行 cargo publish:

alt

此时也能在crates.io[3]搜到刚刚发布的crate

alt



英文版文档:

Publishing a Crate to Crates.io[4]

中文版文档:

将 crate 发布到 Crates.io[5]

参考资料

[1]

帐号设定页面: https://crates.io/me

[2]

Software Package Data Exchange (SPDX): http://spdx.org/licenses/

[3]

crates.io: https://crates.io/search?page=1&per_page=10&q=dashen

[4]

Publishing a Crate to Crates.io: https://doc.rust-lang.org/book/ch14-02-publishing-to-crates-io.html

[5]

将 crate 发布到 Crates.io: https://kaisery.github.io/trpl-zh-cn/ch14-02-publishing-to-crates-io.html

本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/819589.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux知识点 -- 基础IO(三)

Linux知识点 – 基础IO&#xff08;三&#xff09; 文章目录 Linux知识点 -- 基础IO&#xff08;三&#xff09;一、理解文件系统1.磁盘文件2.文件系统的存储结构3.inode与文件名的关系 二、软硬链接1、软链接2.硬链接 三、动静态库1.库2.生成静态库3.静态库的使用4.生成动态库…

山西电力市场日前价格预测【2023-08-02】

日前价格预测 预测明日&#xff08;2023-08-02&#xff09;山西电力市场全天平均日前电价为323.97元/MWh。其中&#xff0c;最高日前电价为360.30元/MWh&#xff0c;预计出现在20: 00。最低日前电价为295.41元/MWh&#xff0c;预计出现在13: 30。 价差方向预测 1&#xff1a;实…

SQL-进阶

mysql --local-infile -u root -pset global local_infile 1;load data local infile 目录 into able 表名 fields terminated by , lines terminated by \n;

经验之谈:==和equals()如何正确使用

大家好&#xff0c;我是三叔&#xff0c;很高兴这期又和大家见面了&#xff0c;一个奋斗在互联网的打工人。 在Java编程中&#xff0c;比较两个对象是非常常见的操作。然而&#xff0c;初学者常常对于 和 equals() 之间的区别不够清晰&#xff0c;容易在使用时出错。本文将深入…

CBG9326 与HMC9326MS8G对比开发资料

国内使用UWB高精度室内定位的行业应用产品&#xff0c;工作频段大部分都在3.5Ghz-6GHz低频段&#xff08;Channel 2&#xff08;特定场景如管隧矿&#xff09;和Channel 5&#xff09;范围&#xff0c;因此只能应用于煤矿、监狱等封闭的小众市场。从市场趋势来看&#xff0c;业…

6.5 多维数组

6.5 多维数组 多维数组可以看成是数组的数组&#xff0c;比如二维数组就是一个特殊的一维数组&#xff0c;其每一个元素都是一个一维数组 如图 二维数组 int a[][] new int[2][5]这个数组a可以看成一个两行五列的数组 package com.baidu.www.array;public class ArrayDemo05…

第三人称射击项目总结

一、UML类图 二、功能需求

Qt信号与槽机制的基石-MOC详解

引入 上篇讲到了信号与槽就是实现的观察者模式&#xff0c;那具体如何生成映射表就是moc做的事情。 一、moc简介 1. moc的定义 moc 全称是 Meta-Object Compiler&#xff0c;也就是“元对象编译器”&#xff0c;它主要用于处理C源文件中的非标准C代码。Qt 程序在交由标准编…

使用go与智能合约交互之使用abigen生成合约go文件进行调用

前两篇文章&#xff0c;我们讲解了go如何通过函数选择器、abi调用的方式与智能合约交互&#xff0c;那么有没有一种更加便捷的方式&#xff08;就好像调用预先定义好的方法一样&#xff09;与智能合约交互呢&#xff1f;答案是有的&#xff0c;本章我们就来学习一下如何使用abi…

Stable Diffusion - 真人照片的高清修复 (StableSR + GFPGAN) 最佳实践

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/132032216 GFPGAN (Generative Facial Prior GAN) 算法&#xff0c;用于实现真实世界的盲脸恢复的算法&#xff0c;利用预训练的面部 GAN&#xf…

Linux和TSN网络

时间敏感网络是传统以太网的扩展&#xff0c;实现实时能力和确定性通信。终端通常是基于Linux OS 的&#xff0c;它的实时能力是通过PREEMPT-RT 补丁实现的。而设备的实时性网络是通过时间敏感性网络技术实现。到目前为止&#xff0c;大多数Linux OS 的TSN 都是通过特殊的解决方…

《cuda c编程权威指南》04 - 使用块和线程索引映射矩阵索引

目录 1. 解决的问题 2. 分析 3. 方法 4. 代码示例 1. 解决的问题 利用块和线程索引&#xff0c;从全局内存中访问指定的数据。 2. 分析 通常情况下&#xff0c;矩阵是用行优先的方法在全局内存中线性存储的。如下。 8列6行矩阵&#xff08;nx,ny&#xff09;&#xff08;…

链表OJ题讲解1

&#x1f493;博主个人主页:不是笨小孩&#x1f440; ⏩专栏分类:数据结构与算法&#x1f440; &#x1f69a;代码仓库:笨小孩的代码库&#x1f440; ⏩社区&#xff1a;不是笨小孩&#x1f440; &#x1f339;欢迎大家三连关注&#xff0c;一起学习&#xff0c;一起进步&#…

MySQL高级篇第6章(索引的数据结构)

文章目录 1、为什么使用索引2、索引及其优缺点3、InnoDB中索引的推演4、MyISAM中的索引方案5、索引的代价6、MySQL数据结构选择的合理性 1、为什么使用索引 假如给数据使用 二叉树 这样的数据结构进行存储&#xff0c;如下图所示 2、索引及其优缺点 3、InnoDB中索引的推演 4、M…

Spring中声明式事务

声明式事务&#xff1a;基于Spring AOP&#xff0c;通过注解或XML配置实现&#xff0c;有助于用户将操作与事务规则进行解耦。其本质是对方法前后进行拦截&#xff0c;然后在目标方法开始之前创建或者加入一个事务&#xff0c;在执行完目标方法之后根据执行情况提交或者回滚事务…

前端小练-产品宣传页面

文章目录 前言页面结构固定钉头部轮播JS特效 完整代码总结 前言 经过一个月的爆肝&#xff0c;花费了一个月&#xff08;期间还花费了将近半个月的时间打比赛&#xff0c;还要备研&#xff09;算是把数二高数的内容强化了一遍&#xff0c;接下来刷熟练度即可&#xff0c;可惜的…

VirtualBox Ubuntu无法安装增强功能以及无法复制粘贴踩坑记录

在VirtualBox安装增强功能想要和主机双向复制粘贴&#xff0c;中间查了很多资料&#xff0c;终于是弄好了。记录一下过程&#xff0c;可能对后来人也有帮助&#xff0c;我把我参考的几篇主要的博客都贴上来了&#xff0c;如果觉得我哪里讲得不清楚的&#xff0c;可以去对应的博…

前端生成图片验证码怎么做?

##题记&#xff1a;我们实现一个功能首先想一下我们需要做哪些工作&#xff0c;比如我们需要生成一个随机的图片验证码&#xff0c;我们需要一个就是点击事件获取验证码&#xff0c;通过接口我们去获取图片路径进行渲染就行&#xff0c;这里边还要牵扯一件事情就是获取一个随机…

uniapp开发小程序-实现中间凸起的 tabbar

一、效果展示&#xff1a; 二、代码实现&#xff1a; 1.首先在pages.json文件中进行tabbar的样式和列表配置&#xff0c;代码如下&#xff1a; {"pages": [ //pages数组中第一项表示应用启动页&#xff0c;参考&#xff1a;https://uniapp.dcloud.io/collocation/p…

Stable Diffusion AI绘画学习指南【本地环境搭建win+mac】

一、硬件配配置要求 系统&#xff1a;windows 10 / Mac os 硬盘&#xff1a;C 盘预留 15GB 以上&#xff0c;其他盘 50GB 以上,Stable Ddiffusion的很多大模型都是以 GB 起步。 显卡&#xff1a;4GB 以上&#xff0c;建议 8GB, 效率高&#xff0c;能玩大尺寸的图 CPU&…