xreaのサーバーにruby1.9.3をインストールしたメモ
xreaさんのrubyのバージョンは1.8.5ですね。使いたいライブラリ関係もあってちょっと窮屈に思っていました。もしかしてコンパイルできる? と思ってやってみたらできちゃったコンみたいなのでメモしておきます。CORESERVERでもないし、たぶん推奨されていないことだと思うので自己責任でお願いします。*1
インストール場所は~/local/bin/ruby19みたいな感じになるようにします。
yamlをインストール
まず、 LibYAMLをインストールします。
mkdir ~/src cd ~/src #ソースをダウンロードしたりコンパイルしたりする場所 wget http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz tar zxf yaml-0.1.4.tar.gz cd yaml-0.1.4 ./configure --prefix=$HOME/local/yaml/ #./configureやmakeの途中でKilledされることがあります。挫けずにぶつかっていきまっしょい。 make make install
yamlが未インストールのままrubyコンパイルをしてしまうと、のちのち
It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.
と怒られてしまうので、先にインストールしました。
rubyのインストール
cd ~/src wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p429.tar.gz tar zxf ruby-1.9.3-p429.tar.gz cd ruby-1.9.3-p429 ./configure -prefix=$HOME/local --program-suffix=19 --disable-install-rdoc --with-opt-dir=$HOME/local/yaml/ make make install
--disable-install-rdocとしないと、
Directory .ext/rdoc already exists, but it looks like it isn't an RDoc directory.
Because RDoc doesn't want to risk destroying any of your existing files,
you'll need to specify a different output directory name (using the --opoption)
と怒られてしまいましたので、断念しました。
--program-suffix=19 としているので、今回インストールしたrubyは「ruby19」「gem19」などとなります。
パスを通す
~/.bashrcを編集してパスを通しておきます。実際にはviでやってますが下記のように追記してもかまいません。
echo "PATH=$HOME/local/bin:$HOME/local/lib/ruby/1.9.1" >> ~/.bashrc source ~/.bashrc #更新
下記のようにバージョンが返ればインストール完了です。
xxxxx~> ruby19 -v ruby 1.9.3p429 (2013-05-15 revision 40747) [i686-linux] xxxxx~> gem19 -v 2.0.3
*1:ちょっと前だと60秒以上のプロセスはkillされてたような気が...