Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

rbenv-gem-rehashを使うと、毎回rehashを打たないで済む

そこで登場するのが、rbenv-gem-rehash。
一度アドオンとして登録すれば、あとはrehashをしなくて済みます。

導入

rbenv 0.4以降の対応なので、
自前の環境を念のため確認。

$ rbenv -v
rbenv 0.4.0

大丈夫なら、git経由で突っ込みます。

$ git clone https://github.com/sstephenson/rbenv-gem-rehash.git ~/.rbenv/plugins/rbenv-gem-rehash

念のため、端末を再読み込みすれば…あとは自動的にrehashしてくれるようになります。

$ exec -l $SHELL

なにをやっているか

githubにある本体を見てみると、

hook = lambda do |installer|
  if installer.spec.executables.any?
    system "rbenv", "rehash"
  end
end

Gem.post_install(&hook)
Gem.post_uninstall(&hook)

と案外短いスクリプトである事がわかります。
rubygemが導入されたら、それをhookしてsystemでrbenv rehashを実行しているようですね。