T.I.D.

Git や GitHub と戯れる、オレオレ的おとなの遊び場

Octopress on GitHub Pages のインストールでハマったこと

まだ 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 をインストールした時の、次のメッセージに従い、~/.rvmrcrvm_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 の世界は奥深そうなのでした ;-) 。

Comments