RubyGems.org へ gem を公開する。
gem くらい作れないとなぁと思い gem の作り方を調べてみました。やってみると、けっこう簡単です。
やりたいこと
- 作った ruby のプログラムを gem にする
- gem を RubyGems.org で配布してみる
予め必要なこと(1
RubyGems.org で gem を配布するには、RubyGems.org でアカウントを作る必要があります。
まだお持ちでない方は、下記のリンクへアクセス、画面右上の「sign up」をクリックして下さい。
画面に従って、登録作業を行って下さい。
次に、RubyGems.org へアップロードするために API Key が必要になります。
RubyGems.org へログインした状態で、自分のアカウントをクリックすると「Edit Profile」が表示されます。
プロフィール画面の下の方に、あなたの API Key が表示されます。
プロフィール画面の直リンクは下記の通り(※リンクは古くなる可能性があります)
API Key は以下の場所に設置しなければいけません。
~/.gem/credentials
RubyGems.org にはこの操作をワンライナーで実行するコマンドが記載されています。
$ curl -u komiyak https://rubygems.org/api/v1/api_key.yaml > ~/.gem/credentials; chmod 0600 ~/.gem/credentials
予め必要なこと(2
RubyGems.org へ gem をリリースする時、その gem が オープンな Git リポジトリで管理されている必要があるようです。
GitHub を利用することをオススメします。
GitHub のアカウント登録は、大丈夫ですよね...?
やってみよう(Step by Step)
新しい gem を作ってみます。いまどきの gem 作成は bundler を使うのが良いそうです。
gem の名称を「hogehoge」とした場合、下記のコマンドで gem の基礎が作成されます。
$ bundle gem hogehoge
gem の名称は、RubyGems.org に公開する場合、ユニークな名称になっている必要があります。
例えば RubyGems.org に hogehoge という gem がすでに存在している場合は、
リリースの実行時に問題が起きてしまいますので、予め確認しておきましょう。
gem の基礎を、正式な gem へとビルドしましょう。
$ bundle exec rake build
これにより「pkg/hogehoge-0.0.1.gem」というバイナリファイルが作成されます。
次に、この gem を RubyGems.org へリリースしてみます。
まず gem が Git のリポジトリで管理されている必要があります。
変更済みのソースを commit します。
そして、GitHub 上にリモートリポジトリを作成し、
そこに対して gem を push します。
commit / push できている状態で、下記のコマンドを実行すると
gem を RubyGems.org に公開できます。
$ bundle exec rake release
【補足】作った gem を自分の環境で動作確認したい。
以下、補足。
作った gem の動作確認方法です。
「rake build」コマンドで gem を生成できることはご説明しましたが、
これを自分の環境にインストールするコマンドがあります。
$ bundle exec rake install
これで、自分の gem 環境に自作の gem がインストールされます。
インストールした gem は、Ruby 環境から利用可能です。
例えば irb から、作成した module Hogehoge を確認することが出来ます。
$ irb > require 'hogehoge' => true > Hogehoge => Hogehoge
アンインストール方法ですが、rake タスクにこれらしいものが見当たりませんでした。
私の場合、gem コマンドから直接 uninstall してみましたが、これでも消せました。
$ gem uninstall hogehoge
以上。