Rust のパッケージリポジトリ crates.io に CLI ツールを公開してみた
はじめに
先日、同僚と npm, jsr などのパッケージリポジトリについて雑談をしていました。
「こんな感じですぐ公開できるよ」という話に感銘を受け、Rust の crates.io という場所に公開してみたくなりました。
さらに追い打ちをかけるように、Rust で書いたそのプログラム、crates.io で公開してみれば? という記事も見つけてしまい、公開への拍車がかかってしまいました。
crates.io とは?のセクションもあり、非常に参考になりました!
そんなこんなで公開までのフローを書き上げてみました。
▼crates.io
会員登録
crates.io のトップページ右上に「Log in with GitHub」とあるので、Github アカウントと連携してサインインするようです。
連携完了。
API Token の取得
crates.io のトップページ右上に「Account Settings」とあるので、そちらをクリック。
左タブの「API Tokens」を開きます。
「New Token」をクリックし、API Token の発行に向けたQAに回答します。
トークンの名前他、必要な項目にチェックを入れていきます。
私は以下のように設定してみました。
- 7日間
- publish-new、 publish-update
最終的に、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」をクリックすると、
自分自身のダッシュボードを確認することができます。
記念すべき第一号が追加されました✨
コードは非常に簡易的ですが、せっかくなのでしっかりメンテナンスしたいですね。
おわりに
今回は crates.io に公開するところまでやってみました。
コードコントリビューターの第一歩を踏み出したようで、私自身ワクワクしました。
皆さんもぜひ、crates.io に公開してみてはいかがでしょうか😄
では。
Discussion