debian環境rbenv上にrubyをインストール

debian環境に、複数のrubyバージョンを共存させることができるrbenv上に、現在最新安定版のruby1.9.3-p327をインストールしてみた。

 

今回は、全てrootユーザ操作し、rubyを使用するユーザもrootである場合を想定する。

# cd /root

 

ソースを取得するためのGitをインストール

# aptitude install git

 

複数バージョンのRubyを共生させるrbenvをインストール

# git clone git://github.com/sstephenson/rbenv.git .rbenv

 

su権限のbashの場合は.bash_profileではなく.bashrcに追記。

(今回はrootとして作業するため、.bash_profile部分を.bashrcと置き換えて実行して下さい)

# echo ‘export PATH=”$HOME/.rbenv/bin:$PATH”‘ >> ~/.bash_profile

# echo ‘eval “$(rbenv init -)”‘ >> ~/.bash_profile

# exec $SHELL

 

コンパイルするrubyのソースを取得

(1.9.3-p327をビルドする)

# git clone git://github.com/ruby/ruby.git

# cd ruby

# git checkout v1_9_3_327

# cd ..

 

gccビルド環境準備

# aptitude install autoconf

# aptitude install dpkg-dev gcc g++ libc6-dev make patch

 

rubyのビルドにrubyが必要。

最新版でないがとりあえずrubyをコンパイルするためのrubyをインストール。

# aptitude install ruby

 

bisonをインストールしていないと、この後のmake時にエラーになるので先にインストール。

# aptitude install bison

 

gccコンパイル

# cd /root/ruby

# autoconf

# ./configure –prefix=$HOME/.rbenv/versions/1.9.3-p327

# make

# make install

# cd /root

 

rbenv installコマンドを使用するためには、別途ruby-buildをインストールしなければいけないらしい。

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

# cd /root/.rbenv/bin

# rbenv install 1.9.3-p327

※rbenvコマンドのパスが通っていない場合は、最初のほうでちゃんと.bashrcまたは.bash_profileのうち、適切なファイルにパス設定情報が追記されているか確認。

 

rubyのバージョンを設定すると、rbenvが参照するパスが変更される。

# rbenv which irb
/usr/bin/irb

# rbenv global 1.9.3-p327

# rbenv which irb
/root/.rbenv/versions/1.9.3-p327/bin/irb

 

rubyスクリプトを実行し、RUBY_VERSIONの値を確認してみる。

# echo ‘puts “version is #{RUBY_VERSION}”‘ > test.rb

# ruby test.rb
version is 1.9.3

rbenv globalで設定したバージョンである1.9.3-p327が、見事に使用されている。

 
 

2012/12/06追記:

これで完了かと思いきや、gemやその他ライブラリを使用するには、ネイティブライブラリ等が必要だった。

cannot load such file –zlib とか It seems your ruby installation is missing psych (for YAML output). を解決

参照した文書

コメントを残す

トラックバック: http://pgnote.net/wp-trackback.php?p=1013