RubyGems.orgで公開する手順
前回からの続き。
- gemコマンドは、.gemファイルを元に、gemが管理する階層にライブラリやコマンドをインストールする。
- 前回手順7で試したとおり、.gemファイルさえあれば、それがどこにあってもインストールは可能なのだ。
- 但し、そのためには.gemファイルの正確なパスを知っている必要がある。
- 一方、gemコマンドの醍醐味は、.gemファイルがどこにあるか?なんて気にせずに、gem install jpdateで素早くインストールできてしまう所にある。
- gemコマンドは https://rubygems.org で公開されているgemを探しに行って、同じ名前のgemが見つかれば、それをインストールしようとしている。
- RubyGems.orgに.gemファイルを登録しておけば、苦労最小のgem install jpdateでインストールが可能になるのだ。(憧れる)
以下は、jpdateをRubyGems.orgで公開した時の手順
手順1 ユーザー登録
- https://rubygems.org/ にアクセスして、右上の[sign up]ボタンを押す。(ユーザー登録する)
- 必要項目(たった3項目)を入力して、[Sign up]ボタンを押した。(ユーザー登録完了)
手順2 APIキーの取得と保存と権限設定
- サインイン状態なので、上段のユーザー名(Handle名)をクリックして、Edit Profileをクリックした。
$ curl -u ユーザー名(Handle名) https://rubygems.org/api/v1/api_key.yaml > ~/.gem/credentials; chmod 0600 ~/.gem/credentials
手順3 アップロード
- gem pushコマンドでRubyGems.orgにアップロードしてみた。
- 公開することになるので、もう少しまともなgemとなるよう修正して、jpdate-0.1.gemを作った。
$ gem push jpdate-0.1.gem Pushing gem to https://rubygems.org... Successfully registered gem: jpdate (0.1)
- 手順2のAPIキーまで取得できたら、次回以降はgem pushするだけで、どんなgemでも素早く公開されるのだ!
素晴らしいシンプルさ!(感動した)
確認
- gem searchしてみると、見事にREMOTE GEMSにjpdate (0.1)が見つかった!
$ gem search jpdate
*** REMOTE GEMS ***
jpdate (0.1)
- Webページも確認してみた。
- https://rubygems.org/gems/jpdate
- ダウンロード数なども表示されていて、励みになる。
リモートソース環境
- gemコマンドがなぜRubyGems.orgに探しに行くかと言えば、リモートソースに https://rubygems.org/ が設定されているからである。
$ gem sources *** CURRENT SOURCES *** https://rubygems.org/
- もし、他のリモートソースも探して欲しい場合は、gem sourcesコマンドで追加できる。
$ gem sources --add http://gemcutter.org http://gemcutter.org added to sources $ gem sources *** CURRENT SOURCES *** https://rubygems.org/ http://gemcutter.org
- 削除してみる。
$ gem sources --remove http://gemcutter.org http://gemcutter.org removed from sources $ gem sources *** CURRENT SOURCES *** https://rubygems.org/
- 一時的に特定のURLのリモートソースからインストール
$ gem install --source http://gemcutter.org jpdate