日常

ケ・セラ・セラ

ローカルで gem を使う時の雑なメモ

どういうことかというと、foobar-0.0.1.gem みたいなのが手元にあって、それを使いたい時のことだ。

大体以下の流れ。

bundle gem foobar

処理を書く

注意点がある。bundle gem した場合 .gemspec がデフォルトでは以下のようになっている。 lib 配下 にファイル追加したりの場合、git で管理していない場合は対象から外れてしまう。

spec.files         = `git ls-files -z`.split("\x0")

そんな時はこんな感じに書いたりすればいい。

spec.files = Dir["{lib}/**/*"] + ["Rakefile", "README.md"]

完成したら gem build foobar.gemspec で foobar-0.0.1.gem みたいなのができる。

(例えば /mygem/foobar-0.0.1.gem があるとしよう)

gem install /mygem/foobar-0.0.1.gem

でインストールできる。bundler で管理したい場合は、

gem unpack /mygem/foobar-0.0.1.gem して、Gemfile に

gem 'foobar', '=0.0.1', path: 'mygem/rensyuu1-0.0.1'

のようにすれば bundle install して使える。