rbenv いろいろ
rvm から rbenv に乗り換えて、しばらくたったので、どう感じなのかを書いてみる。
- zsh でも安心
- インストールが簡単
- パッケージで入れるか git clone して PATH に追加するだけで使える
- 「eval "$(rbenv init -)"」を追加するだけで補完が使える
- バージョン設定
- 情報表示
- 「rbenv versions」で使えるバージョンを確認
- 「rbenv version」で今使っているバージョンを確認
- 「rbenv help」でヘルプ表示
- 「rbenv commands」でコマンド一覧が出る (内部用っぽいのも出るのでいまいちかも)
- ruby のインストール
- ruby-build で簡単にビルドも出来る (https://github.com/sstephenson/ruby-build から別途入れる)
- 「./configure --prefix=$HOME/.rbenv/versions/1.9.2-p290」のように直接入れてもいい
- プラグインで拡張できる
- ruby-build で入る rbenv-install で「rbenv install」が使えるようになるようにサブコマンドが簡単に追加出来る (git 風?)
- bundler を使っていないプロジェクト用に rbenv-gemset ( https://github.com/jamis/rbenv-gemset ) というプラグインもあるらしい
いくつかはまったことのメモも書いておきます。
- 「rbenv version 」でタブを押してもスペースが入るだけで補完されないと思ったら、やりたかったことは「rbenv local 」か「rbenv shell 」だった。
- 補完が変だと思ったら、使おうとしているサブコマンドが間違っていることが多い気がする。
- cron などから実行するときに .rbenv-version をみてくれる ruby-local-exec というラッパースクリプトがあって、ちゃんと cd してから実行しないと使いたいバージョンにならなかった。
- ちゃんと cd してから ruby-local-exec を使うようにして解決。
- ruby-build を $HOME 以下に入れる方法がわかりにくかった。
- bash から exec zsh したら SHELL 環境変数が /bin/bash のままだったので「eval "$(rbenv init -)"」で bash 用の補完が設定されて変になった。
- 先に SHELL 環境変数をちゃんと設定するようにして解決。他にも悪影響があったかもしれないので、 rbenv 自体は悪くないと思う。