rbenv のプラグインをインストールするのに git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build のように ruby-build を二回指定しないといけなかったり、 git の URL をコピペしないといけなかったりして面倒なので、 簡単にインストールできるようにするプラグイン rbenv-plug を作りました。
ruby-build のように share の下に一覧を持つようにしたので、 インストールできるプラグインは簡単に増やせます。
使い方
README に書いた通りです。
plugins に載っているプラグインなら以下のように簡単にインストールできます。
rbenv plug <plugin-name>
例えば ruby-build をインストールするなら以下のようになります。
rbenv plug ruby-build
例えば rbenv-update をインストールするなら、
rbenv plug rbenv-update
のようにするか、 rbenv- を省略して以下のようにします。
rbenv plug update
git の URL を指定して任意のプラグインをインストールすることもできます。
rbenv plug https://github.com/sstephenson/ruby-build.git
アンインストールも簡単にできます。 例えば rbenv-update をアンインストールするなら、
rbenv unplug rbenv-update
のようにするか、 rbenv- を省略して以下のようにします。
rbenv unplug update
インストール方法
以下のようにプラグインの一般的なインストール方法そのままで、 $RBENV_ROOT/plugins に git clone するだけです。
mkdir -p ~/.rbenv/plugins
git clone https://github.com/znz/rbenv-plug.git ~/.rbenv/plugins/rbenv-plug
仕組み
URL が指定された時は上の一般的なインストール方法と同様のことを実行するだけです。
プラグイン名を指定された時は share/rbenv-plug の中のスクリプトを実行します。
名前が rbenv- で始まるプラグインがほとんどなので、 rbenv plug や rbenv unplug の引数では rbenv- を省略できるようにしました。
share/rbenv-plug のスクリプトで rbenv-aliases なら rbenv alias --auto を追加で実行したり、 rbenv-use なら依存している rbenv-whatis もインストールしたりしています。
余談
share/rbenv-plug のファイルを追加している時に rbenv-plugin というのがあって、 今の rbenv-plug (と rbenv-unplug) という名前に変えました。 最初は rbenv-plugin-install (と rbenv-plugin-uninstall) という名前で作りかけていたので、 rbenv-plugin のサブコマンドと思いっきり名前がかぶっていました。 rbenv-plugins-install という複数形の名前も使われてしまっていたので、 思い切って短い名前に変更しました。