まだ Lion にアップグレードしていない Mac Book Air (Mac OS X 10.6.8 Snow Leopard) に、Xcode3 と RVM (Ruby Version Manager) をインストールし、Octopass の立ち上げを試みたのですが、ハマりました。誰かの何かの役に立つかもしれないので、その時のメモを記しておきます。
ただし私は、「Ruby ってどんな? gem って何?」というヒトなので、ここに書かれたことには間違いが含まれている可能性アリです。ご参照はソコソコに。
Xcode 3 のインストール
Xcode 3.2.6 and iOS SDK 4.3 for Snow Leopard からダウンロード、
xcode_3.2.6_and_ios_sdk_4.3.dmg
を実行。iOS SDK 4.3 は要らないので、インストールせず。
RVM のインストール
RVM: Ruby Version Manager - Installing RVM には、Single-User が推奨されているので、以下を実行。
$ bash < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)
.bash_profile
に RVM function を読み込ませるスクリプトを追加。
$ echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile
第1のハマりは、これを .bashrc
に設定していたこと。.bach_profile
でないとダメ (bash の起動で .bashrc
を読み込まないのは Mac 特有?)。あるいは .bach_profile
に次を設定しておく(“.bash_profile”と”.bashrc”の使い分け)。
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
これがちゃんと設定されていないと、後半の rake install
で次のようなエラーが出る。
Could not find RedCloth-4.2.8 in any of the sources
Run `bundle install` to install missing gems.
Ruby 1.9.3 のインストール
Octopress は 1.9.2 以上が条件。rvm list known
とすると、1.9.3 があるので、最新版をインストールすることに。rvm コマンドには sudo は付けない。付けるのは Multi-User 用。
$ rvm install 1.9.3
デフォルトで 1.9.3 を使うように設定。
$ rvm use 1.9.3
また Installing RVM - Octopress によると、rubygems の更新も必要。
$ rvm rubygems latest
Octopress のインストール
Octopress Setup に従いインストール。まず、Octopress のクローンを作る。
$ git clone git://github.com/imathis/octopress.git octopress
$ cd octopress
ここで次のようなメッセージが出現。
==============================================================================
= NOTICE =
==============================================================================
= RVM has encountered a new or modified .rvmrc file in the current directory =
= This is a shell script and therefore may contain any shell commands. =
= =
= Examine the contents of this file carefully to be sure the contents are =
= safe before trusting it! ( Choose v[iew] below to view the contents ) =
==============================================================================
Do you wish to trust this .rvmrc file? (/Users/xxxxxx/github/octopress/.rvmrc)
y[es], n[o], v[iew], c[ancel]>
RVM が .rvmrc
の上書きを監視しているようだ。よくわからないまま y
を入力。これが間違えの元か? 作成された .rvmrc
には rvm 1.9.2
と書かれているが、とりあえずそのまま。
$ gem install bundler
$ bundle install
$
$ rake install
やばい、ここでエラー。
rake aborted!
no such file to load -- bundler/setup
『はじめる! Rails3』読者サポートページ の 「Ruby が複数インストールされた環境で発生する場合がある」 を元に、次を実行。
sudo gem update rake
再び rake install
。
Could not find rake-0.9.2.2 in any of the sources
Run `bundle install` to install missing gems.
え~、今 bundle で install したばっかりでしょう!? 再度 rake install
しても
$ bundle show rake
を実行すると、やはり bundle install
しろと言われる。両コマンド間で参照している環境変数が違う感じ?
で、前述の .rvmrc
を思い出す。試しに .rvmrc-
に退避してみたらあっさり OK。
結局、rvm をインストールした時の、次のメッセージに従い、~/.rvmrc
に rvm_project_rvmrc=0
を記述して、一件落着。
If you wish to disable the project .rvmrc file functionality, set
rvm_project_rvmrc=0 in either /etc/rvmrc or ~/.rvmrc.
現在は上記 ~/.rvmrc
への追加ではなく、rvm use 1.9.3 --default
を実行して .rvmrc
に
設定されている rvm 1.9.2
を無視する設定としている。
ところで、bundler って何? Ruby の世界は奥深そうなのでした ;-) 。