rbenv で複数の Ruby 環境を整える その1
公私ともに Ruby を扱うことが多くなってきたのと、バージョンが異なる Ruby を動かさなくてはならなくなったので、rbenv を導入してバージョンの異なる Ruby を使っていくことにした。因みに、Bash on Ubuntu on Windows 上、そして Virtual Box と Vagrant で管理されたエミュレーター上の Ubuntu 上での使用であるが、ここでは主としてBash on Ubuntu on Windows 上での整備に留める。
ビルド環境を整える
既に /etc/hosts の設定や、最短のパッケージ・リポジトリの設定は終わっているとする。
必要なパッケージ
もしパッケージが足りないようであれば、次のようにパッケージをインストールしてからRubyをインストールすればよい。しかしmysqlを使わなくてよいならlibmysqlclient-devをインストールしなくてもよい。
sudo aptitude -y install libssl-dev zlib1g-dev libreadline-dev libmysqlclient-dev sqlite3 libsqlite3-dev g++ git
OS、ディストロ、環境よっては必須なパッケージがOSインストール時にインストールされていることもある。目的に沿った必要最小限パッケージを得たい場合は調査に時間をかけるか、試行錯誤するしかない。
インストール
githubからruby-buildをcloning
実はもう一つのソフトウェアruby-buildが必要である。他所では.profile/.bash_profileを編集してからインストールしているのがあるが、連続してcloneしてもかまわない。
ruby-buildはrbenvのプラグインの一つでrbenvのinstallオプションを担っている。
$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
とりあえず、これでインストールは可能である。
ruby-buildを共有し、Rubyインストールに融通を利かせたい
ruby-buildのREADME.mdに書いてあるが、自分一人で使うのであれば、インストール作業は上記までである。更新もgit pullを行うだけでよい。しかし、stand-alone、ディスク節約のため*1、統制のために、環境内で唯一無二のコマンドとして全ユーザーに使わせたいとき、そしてRubyのインストール先などを指定したい場合は、install.shスクリプトを実行してインストールすればよいと、これもREADME.mdに書いてある。git clone後に次を実行すれば、デフォルトでは/usr/local以下に配置され、そして任意のディレクトリにRubyをインストールすることができるようになる。
$ cd ~/.rbenv/plugins/ruby-build/ $ sudo ./install.sh Installed ruby-build at /usr/local
利用方法
先ず.profileまたは.bash_profileを編集しておく
パスの設定とrbenvを初期化するコマンドを.profileに書いておく。こうすることでbashが立ち上がる度に自動的にrvenvが使える。
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.profile $ echo 'eval "$(rbenv init -)"' >> ~/.profile $ source ~/.profile
.bash_profile をつかっているときは、上記 .profile を .bash_profile にし、次の一行を .bash_profile に加えるとよい:
test -r ~/.bashrc && . ~/.bashrc
すでにpyenvなどを使っている場合
pyenvなどを使っている場合、おそらく.profileではなく.bash_profileを使っていることが多いだろう。そしてその中の最終行で"test -r ~/.bashrc && . ~/.bashrc"を実行させていることだろう。ここではそれを前提とする。その場合、一度、一時的なファイルに書き出してから、それを.bash_profileにリネームすればよい。
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/tmp $ echo 'eval "$(rbenv init -)"' >> ~/tmp $ cat .bash_profile >> tmp $ mv tmp .bash_profile $ source ~/.bash_profile
インストール可能なバージョンを調べる
以下を実行すればズラリとインストール可能なバージョンが表示される。希望のバージョン探したいときや、リストを絞りたいときはgrepコマンドにパイプすればよいだろう。
$ rbenv install --list