0Pricing
Ruby Academy · レッスン

RubyGems への公開

Gem をリリースします。

「RubyGems への公開」はCoddyKit上の無料Ruby Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはRuby Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Ruby Academyコースには全4レッスンが含まれています。

RubyGems.orgとは

RubyGems.orgは、Rubyのgemを公開およびダウンロードするための公開ホストです。gem installまたはbundle installを実行すると、デフォルトではそこからパッケージを取得します。

  • 公開すると、世界中のユーザーがgemをインストールできるようになります。
  • 各gemの名前は一意で、先着順で取得されます。
  • 一度公開したバージョンは、原則として恒久的なものとして扱う必要があります。

アカウントの作成

公開する前に、無料のRubyGems.orgアカウントが必要です。その後、コマンドラインからサインインすると、gemツールでアップロードを認証できるようになります。認証情報は、次回以降のプッシュに備えてローカルに保存されます。

リリース前のチェックリスト

リリース前に、次の項目を確認してください。

  • バージョン番号を上げている。
  • テストに合格している。
  • 変更履歴を更新している。
  • gemspecにすべてのファイルと正しいライセンスが記載されている。

数分かけて確認するだけで、壊れた状態での一般公開を防げます。

checklist = ["version bumped", "tests pass", "changelog updated", "gemspec valid"]
checklist.each { |item| puts "[ ] " + item }

パッケージをビルド

gem build mygem.gemspecを実行します。これにより gemspec が読み込まれ、コードとメタデータを含むmygem-0.1.0.gemのようなファイルが生成されます。これがアップロードする実際の成果物です。

ビルドをローカルでテスト

ビルドしたファイルをgem install ./mygem-0.1.0.gemでクリーンな環境にインストールし、requireしてみます。これにより、広く公開される前にファイルの不足や読み込みエラーを検出できます。

RubyGemsに公開

gem push mygem-0.1.0.gemで公開します。数秒以内にそのバージョンがRubyGems.orgに表示され、誰でもインストールできるようになります。このコマンドは、保存済みの認証情報を使ってアップロードを承認します。

Rakeでリリース

Bundlerで生成したGemには、rake releaseタスクが含まれています。このタスクは、gitでバージョンにタグを付け、Gemをビルドして、1つの手順でプッシュします。そのため、gitタグと公開されたバージョンが常に一致します。

バージョンを再度プッシュすることはできません

いったん1.0.0を公開すると、別のコードで上書きすることはできません。問題を修正するには、1.0.1のような新しいバージョンを公開する必要があります。これにより、同じバージョンがすべてのユーザーに対して常に同じバイト列であることが保証されます。

published = "1.0.0"
fix = "1.0.1"
puts "Cannot overwrite " + published
puts "Publish " + fix + " instead"

問題のあるリリースを取り下げる

バージョンに不具合や安全上の問題がある場合、gem yank mygem -v 1.0.1で新規インストールの対象から削除できます。既存のロックファイルでは引き続きそのバージョンが参照される可能性があるため、取り下げは最後の手段であり、取り消しボタンではありません。

アカウントを保護する

Gemを乗っ取りから保護します。

  • RubyGems.orgで多要素認証を有効にします。
  • 権限を制限したスコープ付きAPIキーを使用します。
  • gem ownerで信頼できる共同所有者を追加し、手を離れることになってもGemが維持されるようにします。

公開後

公開したら、READMEでインストール手順を共有し、リリースを告知して、問題が報告されていないか確認します。バグ報告にはパッチリリースで対応します。メンテナンスされているGemは、時間とともに信頼と利用者を増やします。

理解度チェック

公開についての理解度を確認します。

まとめ:RubyGemsへの公開

次のリリース手順を学びました。

  • アカウントを作成してサインインする。
  • 公開前チェックリストを実行してから、gem buildを実行する。
  • ローカルでテストしてから、gem push(またはrake release)を実行する。
  • バージョンは変更できないため、修正は新しいバージョンとして公開するか、gem yankを使用する。
  • MFAと共同所有者でアカウントを保護する。

これで「自分だけのRuby Gemを構築する」コースは完了です。

よくある質問

「RubyGems への公開」レッスンは無料ですか?

はい。「RubyGems への公開」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Ruby Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Ruby Academyコースには全4レッスンが含まれています。

「RubyGems への公開」で何を学びますか?

Gem をリリースします。 ブラウザで直接実行するハンズオンコードでRuby Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Ruby Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのRuby Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。

「RubyGems への公開」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このRuby Academyレッスンでコードを書いて実行できますか?

はい。すべてのRuby Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. Gem の構成
  2. コードの記述
  3. テストとバージョニング
  4. RubyGems への公開
← Ruby Academyに戻る