📦

Rust のパッケージリポジトリ crates.io に CLI ツールを公開してみた

2024/07/31に公開

はじめに

先日、同僚と npm, jsr などのパッケージリポジトリについて雑談をしていました。
「こんな感じですぐ公開できるよ」という話に感銘を受け、Rust の crates.io という場所に公開してみたくなりました。
さらに追い打ちをかけるように、Rust で書いたそのプログラム、crates.io で公開してみれば? という記事も見つけてしまい、公開への拍車がかかってしまいました。
crates.io とは?のセクションもあり、非常に参考になりました!

そんなこんなで公開までのフローを書き上げてみました。

▼crates.io
https://crates.io/

会員登録

crates.io のトップページ右上に「Log in with GitHub」とあるので、Github アカウントと連携してサインインするようです。
crates.io

連携完了。
crates.io

API Token の取得

crates.io のトップページ右上に「Account Settings」とあるので、そちらをクリック。
crates.io

左タブの「API Tokens」を開きます。
crates.io

「New Token」をクリックし、API Token の発行に向けたQAに回答します。
トークンの名前他、必要な項目にチェックを入れていきます。
私は以下のように設定してみました。

  • 7日間
  • publish-new、 publish-update
    crates.io

最終的に、API Token が手に入るので、手元に控えておきます。
このAPI Token を利用して、コマンドラインにて crates.io に登録を行っていくようです。

メールアドレスの登録

crates.io のトップページ右上に「Account Settings」とあるので、そちらをクリックし、Profile タブを開きます。

下部に「User Email」とあるので任意のメールアドレスを入力し、save します。
すると、入力したメールアドレス宛に確認用のURLが届いているので、クリックして認証を行います。

▼未認証時のメッセージ

We have sent a verification email to your address.
Your email has not yet been verified.

コマンドから crates.io に認証する

ターミナル、Powershell などを使って、以下のようにログインコマンドを実行します。

$ cargo login {発行した API Token}

成功しているようです!

Login token for `crates-io` saved

ソースコードをアップする

私は、非常にシンプルなCLIツールをアップしてみたいと思います。
コマンドで以下のように実行します。

$ cargo publish
この時、github に対してコミットしておくことが前提のようです。

cargo publish を実行後、以下のように出力されていればOKです。

Published {プロジェクト名} v0.1.0 at registry `crates-io`

crates.io で確認する

crates.io トップページの右上の「Dashboard」をクリックすると、
自分自身のダッシュボードを確認することができます。

dashboard

記念すべき第一号が追加されました✨
コードは非常に簡易的ですが、せっかくなのでしっかりメンテナンスしたいですね。
https://crates.io/crates/welcomer

おわりに

今回は crates.io に公開するところまでやってみました。
コードコントリビューターの第一歩を踏み出したようで、私自身ワクワクしました。

皆さんもぜひ、crates.io に公開してみてはいかがでしょうか😄
では。

コラボスタイル Developers

Discussion