jubilee

Programing, Books and more...

Octopressブログ環境の再構築:第3回

前回のrbenvインストールでRubyインストールの準備が整ったので、Ruby1.9.3-p484をインストールする。

  1. Homebrewのインストール
  2. rbenvのインストール
  3. Ruby1.9.3のインストール <– いまここ
  4. SSH鍵の設定(GitHub, Bitbucket)
  5. Octopressブログ環境の構築(From Bitbucket)

Rubyのインストールバージョンの確認

1
2
3
4
5
6
7
$ rbenv install -l
...
  1.9.3-p429
  1.9.3-p448
  1.9.3-p484
  1.9.3-preview1
  1.9.3-rc1

今回は、1.9.3-p484をインストールする。

Rubyのインストール

単純に、$ rbenv install 1.9.3-p484 でもいいが、readlineとopensslを有効にしてRubyをインストールする。

1
2
3
4
5
6
7
8
9
10
11
$ CONFIGURE_OPTS="--with-readline-dir=$(brew --prefix readline) --with-openssl-dir=$(brew --prefix openssl)" rbenv install 1.9.3-p484
...
Downloading yaml-0.1.5.tar.gz... >ちょっと時間が掛かる
-> http://dqw8nmjcqpjn7.cloudfront.net/24f6093c1e840ca5df2eb09291a1dbf1
Installing yaml-0.1.5...
Installed yaml-0.1.5 to /Users/JohnDoe/.rbenv/versions/1.9.3-p484

Downloading ruby-1.9.3-p484.tar.gz...
-> http://dqw8nmjcqpjn7.cloudfront.net/8ac0dee72fe12d75c8b2d0ef5d0c2968
Installing ruby-1.9.3-p484...
Installed ruby-1.9.3-p484 to /Users/JohnDoe/.rbenv/versions/1.9.3-p484

使用するバージョンの切り替え

1: まずは、現在のRubyバージョンを確認する

1
2
$ ruby -v
ruby 2.0.0p247 (2013-06-27 revision 41674) [universal.x86_64-darwin13]

2: どのバージョンを使う設定になっているかを調べる

1
2
$ rbenv version
system (set by /Users/JohnDoe/.rbenv/version)

system標準を使用するようになっているのがわかる。

3: 利用可能なバージョンがあるか調べる

1
2
3
$ rbenv versions
* system (set by /Users/JohnDoe/.rbenv/version)
  1.9.3-p484

先ほどインストールした1.9.3-p484の使用も可能。

4: 利用するバージョンを切り替える

1
2
$ rbenv global 1.9.3-p484
$ rbenv rehash

5: 切り替わったかどうか、バージョンを調べる

1
2
3
4
$ ruby -v
ruby 1.9.3p484 (2013-11-22 revision 43786) [x86_64-darwin13.0.2]
$ rbenv version
1.9.3-p484 (set by /Users/JohnDoe/.rbenv/version)

1.9.3-p484を使用するようになっていることが確認できる。

ディレクトリ単位での切り替え

ここはBitbucketからのclone後に設定。
1.9.3-p484を使いたいのはOctopressを使うディレクトリでの作業のみだと考えると、そのディレクトリにのみ1.9.3を適用することはできるのだろうか?
rbenvにディレクトリ単位の切り替え機能はあるのだろうか?
googleで調べてみたところ、可能みたいな。

  • ユーザ毎に使用するRubyのバージョンを変更できる
  • プロジェクト毎にRubyのバージョンを指定できる
    .rbenv-versionファイルを読み取って、特定ディレクトリ以下のRubyバージョンを指定できる。
  • 環境変数によってRubyのバージョンを指摘できる
    RBENV_VERSIONを指定しておくと、その環境変数が有効な範囲でだけRubyバージョンを指定できる。

2つ目のプロジェクト毎に指定が理想なので、以下を行う。

1
2
3
// Rubyのバージョン指定をしたいディレクトリに移動
$ cd 指定ディレクトリ
$ rbenv local 1.9.3-p484

もしくは対象のディレクトリに直接.rbenv-versionというファイルを作成。
中身は 1.9.3-p484 と記述。

確認:まずはホームディレクトリ –> system(2.0.0)の使用になっている

1
2
3
4
5
6
7
$ ruby -v
ruby 2.0.0p247 (2013-06-27 revision 41674) [universal.x86_64-darwin13]
$ rbenv version
system (set by /Users/JohnDoe/.rbenv/version)
$ rbenv versions
* system (set by /Users/JohnDoe/.rbenv/version)
  1.9.3-p484

確認:対象ディレクトリ –> 1.9.3の使用になっている

1
2
3
4
5
6
7
$ ruby -v
ruby 1.9.3p484 (2013-11-22 revision 43786) [x86_64-darwin13.0.2]
$ rbenv version
1.9.3-p484 (set by /Users/JohnDoe/mzgk.github.io/.ruby-version)
$ rbenv versions
  system
* 1.9.3-p484 (set by /Users/JohnDoe/mzgk.github.io/.ruby-version)