mumumu の日記

Development, Translation, daily life, thoughts, and so on.

Ruby 2.0.0-p0

さて、このブログは Octopress という Github Pages の上でブログを書くためのフレームワークを使って書かれている。Octopress にしてもその上位にある Jekyll にしても Ruby で書かれているので、Ruby を触らざるを得ない。

自分が普段使っている Debian の stable は Ruby 1.8.7 と若干古いためか、gem まわりでいい思い出がない。しかも Octopress は Ruby 1.9.3 を推奨している。独自に Ruby をいちいちビルドするのはまっぴらだ。そんなこんなで rbenv を入れてみることにした。rvm よりシンプルで優れた部分が多いと字面ではなっている が、まだよくわからない。Ruby 初心者丸出しである。とりあえず 先輩 Rubyist である elim の入れ知恵と流行に乗ってみる。

rbenv を入れるとき、ruby-build を入れるのが要注意な模様。自分は開発者が書いたドキュメントは注意深く読む方なのでひっかからなかった。

$ git clone git://github.com/sstephenson/rbenv.git ~/.rbenv
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
$ exec $SHELL -l
$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

ここで Ruby をインストールするわけだけど、利用可能なバージョンの多さにのけぞるw 出たばっかの Ruby 2.0.0-p0 もある。jruby とかも選べる。すげぇ。

$ rbenv install -l
Available versions:
  1.8.6-p383
  1.8.6-p420
  1.8.7-p249
  ....
  1.9.1-p378
  1.9.2-p180
  1.9.2-p290
  ....
  1.9.3-p392
  1.9.3-preview1
  1.9.3-rc1
  2.0.0-p0
  ....
  ....
  jruby-1.7.3
  jruby-1.7.4-dev
  ....

入れるべきバージョンに迷っていると、「Ruby 2.0.0-p0 はよいリリース だ。普段使いになんの問題もない」と elim は強硬に主張する。まあはじめてだし失うものはないや、ということで 2.0.0-p0 を入れてみる。割とあっさり入った。結構感動(´ー`; )

$ rbenv install 2.0.0-p0
$ ruby --version
ruby 2.0.0p0 (2013-02-24 revision 39474) [x86_64-linux]
$ rbenv global 2.0.0-p0

ただ、最後の rbenv global だけは慎重に使った方がよいかも。これをやると、そのユーザでログインしたら ruby のバージョンが指定したバージョンに固定されるからだ。まぁ、変えたければ再度 rbenv global すりゃいいのだけれども。

あとは Octopress を入れるだけ だ。

$ git clone git://github.com/imathis/octopress.git octopress
$ cd octopress

ただ、ひとつだけ注意点がある。Octopress は Ruby 1.9.3 を推奨していて、bundle もそれにひも付いた rake 0.9.2.2 で Gemfile.lock がかかっていたりするので、git clone 後の Gemfile.lock と .rbenv-version は書き換えないといけない。それだけは要注意。

$ git diff .rbenv-version
diff --git a/.rbenv-version b/.rbenv-version
index f3a9c9a..c031dda 100644
--- a/.rbenv-version
+++ b/.rbenv-version
@@ -1 +1 @@
-1.9.3-p194
+2.0.0-p0

$ git diff Gemfile.lock
diff --git a/Gemfile.lock b/Gemfile.lock
index 82c5dcf..271ce4f 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -31,7 +31,7 @@ GEM
     rack (1.5.2)
     rack-protection (1.5.0)
       rack
-    rake (0.9.2.2)
+    rake (0.9.6)
     rb-fsevent (0.9.1)
     rdiscount (1.6.8)
     rubypants (0.2.0)

複数人での開発なら、これらの行為は御法度または要相談な事項なのだろうが、オレオレ環境なので失うものはない。あとは案内通りにインストールするだけだ。

$ gem install bundler
$ rbenv rehash
$ bundle install

ということで Ruby 2.0.0-p0 で普通に今ブログを書いていたりする。全く問題ない。普段使いに全く問題ないという elim の主張は当たっているのかもしれない。しばらくこれでブログを書き続けてみることにする。

アドバイスをいろいろくれてありがとう! > elim