Rubyのgemパッケージを作成する手順について。bundlerにgem作成を助ける機能がいくつかあるので利用する。
ひな形の作成
bundle gemでひな形を生成する。
$ bundle gem mylib
gemspecは各gemごとに適当に修正する。ひな形を見ればすぐに内容はわかる。
依存ライブラリ
依存ライブラリはGemfileではなくgemspecファイルに記述して、Gemfileからはgemspecを参照するだけにする。
Gemfile
source 'https://rubygems.org' gemspec
mylib.gemspec
Gem::Specification.new do |spec| ... spec.add_runtime_dependency "hashie" spec.add_runtime_dependency "json" spec.add_development_dependency "bundler" spec.add_development_dependency "rake" end
ビルド
gem buildコマンドでビルド。
$ gem build mylib.gemspec
bundleでひな形を作っている場合は、rake buildでpkgフォルダにgemパッケージが作成される。
$ rake build
公開
gem pushコマンドで公開。このとき、rubygems.orgのアカウントが必要。
$ gem push mylib-x.x.x.gem
同様にbundleでひな形を作っている場合は、rake releaseリリースできる
$ rake release