ys memos

Blog

Rustクレートをpublishした際のメモ


rust

2023/11/26


ついに、自作クレートをcrates.ioで公開してみました。


マニフェストを更新。

一般的にパッケージを公開する時に必要なことなのですんなりと理解できた。

これは、プロジェクトのCargo.tomlにいくつかの項目を追記するとよい。

packageテーブルの中に以下のように項目を記載する。

Cargo.toml
[package]
name = "<crate-name>"
version = "0.1.6"
edition = "2021"
authors = ["<your-name>"]
repository = "https://github.com/<your-name>/<your-repo>"
license = "MIT"
license-file = "LICENSE"
description = "This Crate is ..."
exclude = [".github", ".gitignore", "tests"]

まずはターミナルでcrates.ioへアクセスできるようにトークンを取得。

可能な限り小さい範囲の権限を付与したTokenを利用することが望ましい。

$ cargo login
please paste the token found on https://crates.io/me below
<paste-your-token>

publishする。

$ cargo publish

公開されるファイルを一覧するには以下のコマンド。

$ cargo package --list


著者


リポジトリのURL


ライセンス。 これを書かないと利用者はどう使っていいのかわからないので必要。

license-fileとどちらかでいいらしい。


ライセンスファイル。licenseとどちらかでいいらしい。


クレートの説明を書く


レジストリに含ませないファイルやディレクトリの設定。

なくても困ることはないと思うが、.github, .gitignoreくらいは除外するのが思いやりかなと思って追加した。Testも必要によっては含めてもいいと考えられる。


GitHub Actionsで自動化しておくと非常に便利。→こちら

Actionsに載せるときは、よりTokenの扱いに注意!!

npmとかなり雰囲気が似ていて、とっつきやすかったです。

近代的な言語はパッケージマネージャがきちんと整備されており、パッケージングや公開も楽なので便利ですよね!


関連タグを探す