軸はこーしろーからいきますよ

基本的にただの忘備録

rbenvのインストール@ubuntu12.04

rbenvのインストール方法を残しておこうかと
試したのはUbuntu12.04.2上

参考サイト
rbenvで複数のバージョンのrubyを使用する環境を整える - memo.yomukaku.netを参考にさせて頂きました.

背景

RVMってなんか大変だったから.
autolibsがよくわかりません.
僕には難易度が高いようです.

rbenvのインストール

gitで引っ張ってきます.

$ git clone git://github.com/sstephenson/rbenv.git ~/.rbenv

そしてパスを通したりします.

$ echo 'export PATH=$PATH:$HOME/.rbenv/bin' >> ~/.bashrc
$ echo 'eval "$(rbenv init -)"' >> ~/.bashrc
$ source ~/.bashrc

ruby-buildのインストール

rbenvはrubyのインストールまではしてくれません.
切り替えをしてくれるだけです.
なので自分でrubyのビルドなどしなければいけないのですが,
大変なのでプラグインを使う方法です.
そのプラグインがruby-buildです.

$ git clone git://github.com/sstephenson/ruby-build.git
~/.rbenv/plugins/ruby-build

おk

必要ライブラリのインストール

何もないとgemのインストール時にzlibが云々言われます.
ですんで先にインストールをしておきます.
以前のrvm requirementsコメンドで表示されたものを参考にして以下のものをインス
トールしました.

$ sudo apt-get install build-essensial
$ sudo apt-get install openssl
$ sudo apt-get install libreadline-dev
$ sudo apt-get install zlib1g-dev
$ sudo apt-get install libssl-dev
$ sudo apt-get install libxml2-dev
$ sudo apt-get install libxslt-dev
$ sudo apt-get install ncurses-dev

あとは流れで.

rbenvによるRubyのインストール

rubyのインストールを行います.
rbenvコマンドの使い方は以下のようになります.

インストール

インストールを行う場合例えば以下のようなコマンドを実行します.

$ rbenv install 1.9.3-p392
$ rbenv rehash

rbenv rehashが必要となります.
このrbenv rehashはgemで何かしらをインストールしたあとにも必要となります.
つまりgem install ***してもrehashしないと有効にならない

Rubyのバージョンを指定します.

$ rbenv global 1.9.3-p392

これでruby 1.9.3-p392バージョンのrubyを使えるようになります.
またrbenv localというコマンドでは任意のディレクトリ以下で使用したいバージョン
を指定出来ます.
例えば今1.9.3-p392と2.0.0-p0がインストールされていてglobalに1.9.3-p392が設定さ
れているとします.
つまりこんな状況

$ rbenv versions
* 1.9.3-p392 (set by /home/ooo/.rbenv/version)
  2.0.0-p0

で,~/hoge以下でだけ2.0.0-p0を使いたいとき

$ cd ~/hoge
$ rbenv local 2.0.0-p0

とするとhogeディレクトリ以下では2.0.0-p0を使うようになります.
hogeディレクトリ直下に.ruby-versionなるファイルができていると思います.
このファイルの内容で管理しているようです.
こんなかんじに成るのではないかと思います.

~/hoge$ rbenv versions
  1.9.3-p392
* 2.0.0-p0 (set by /home/ooo/hoge/.ruby-version)

参考までに以下Usage

Usage: rbenv <command> [<args>]

Some useful rbenv commands are:
   commands    List all available rbenv commands
   local       Set or show the local application-specific Ruby version
   global      Set or show the global Ruby version
   shell       Set or show the shell-specific Ruby version
   install     Install a Ruby version using the ruby-build plugin
   uninstall   Uninstall a specific Ruby version
   rehash      Rehash rbenv shims (run this after installing executables)
   version     Show the current Ruby version and its origin
   versions    List all Ruby versions available to rbenv
   which       Display the full path to an executable
   whence      List all Ruby versions that contain the given executable