2012年2月2日木曜日

Ruby 環境構築(Mac OS X 10.6.8 Snow leopard)

Xcodeをインストール
- Mac App Storeからインストール(無料)

MacPortsのアンインストール
- Homebrewをインストールするにあたって、MacPortsがインストールされていると問題があるようなのでMacPortsをアンインストールする。
- MacPortsでインストールしたパッケージを確認し、メモしておく。
$ port installed
- ガイドに習ってMacPortsをアンインストール。
$ sudo port -f uninstall installed
- 関連するディレクトリも綺麗にします。以下のコマンドをコピペして実行。
$sudo rm -rf /opt/local \
/Applications/MacPorts \
/Applications/DarwinPorts \
/Library/Tcl/macports1.0 \
/Library/Tcl/darwinports1.0 \
/Library/LaunchDaemons/org.macports.* \
/Library/StartupItems/DarwinPortsStartup \
/Library/Receipts/MacPorts*.pkg \
/Library/Receipts/DarwinPorts*.pkg \
~/.macports

Homebrewをインストール
- ここに習ってインストール
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.github.com/gist/323731)"
- /usr/local/binにパッケージがインストールされるので、/usr/local/binにパスを通す。~/.bash_profileを編集。
export PATH=/usr/local/bin:$PATH
- gitをインストールして、Homebrewをアップデート
$ brew install git
# brew本体のアップデートにはgitが必要なため、gitインストール後にアップデート
$ brew update
- readlineをインストール
$ brew install readline
# readlineはlinkも設定する。
$ brew link readline
- MacPortsをアンインストールした為、必要なパッケージをインストールしておく
$ brew install curl
$ brew install mercurial
$ brew install python

rbenv,ruby-buildをインストール
- インストール
$ brew install rbenv
$ brew install ruby-build
- ~/.bash_profileに設定記述。~/.rbenv/completions/rbenv.bashが無い場合は、ここから持ってくる。
eval "$(rbenv init -)"
source ~/.rbenv/completions/rbenv.bash

rubyをインストール
- Ruby1.9をインストール
#インストール可能なRubyのバージョン一覧を表示
$ rbenv install
#インストール
$ rbenv install 1.9.3-p0
しかし、以下のようなエラーが出てインストールが失敗してしまう。
Installing ruby-1.9.3-p0...

BUILD FAILED

Inspect or clean up the working tree at /var/folders/u2/u21bLVKaGBG2Cj5n9LFHB++++TI/-Tmp-/ruby-build.20120202170334.94832
Results logged to /var/folders/u2/u21bLVKaGBG2Cj5n9LFHB++++TI/-Tmp-/ruby-build.20120202170334.94832.log

Last 10 log lines:
In file included from ./include/ruby/ruby.h:64,
                 from ./include/ruby.h:32,
                 from main.c:13:
/usr/include/stdarg.h:4:25: error: stdarg.h: No such file or directory
In file included from ./include/ruby/intern.h:32,
                 from ./include/ruby/ruby.h:1361,
                 from ./include/ruby.h:32,
                 from main.c:13:
/usr/include/varargs.h:4:26: error: varargs.h: No such file or directory
make: *** [main.o] Error 1
ググってみたところ、gccのバージョンが怪しいとか。gccのシンボリックリンク先をllvm-gcc-4.2からgcc4.2に変更。
$ sudo rm /usr/bin/gcc
$ sudo ln -s /usr/bin/gcc-4.2 /usr/bin/gcc
これで、先ほど同じくインストールしたらうまくいった。

- Ruby1.8をインストール
1.8は普通にインストールするとエラーがでるので、CONFIGURE_OPTSでreadlineライブラリを読込むように指定しインストールする。
$ CONFIGURE_OPTS="--with-readline-dir=/usr/local" rbenv install 1.8.7-p357
- Rubyのバージョン切り替え
# インストール済のRubyバージョン一覧
$ rbenv versions
  1.8.7-p357
* 1.9.2-p180 (set by /Users/home/.rbenv/version)
  1.9.2-p290
  1.9.3-p0
# 使用するRubyを指定
$ rbenv global 1.9.3-p0
# 変更を反映
$ rbenv rehash
# 現在有効になっているRubyのバージョンを表示
$ rbenv version
1.9.3-p0 (set by /Users/home/.rbenv/version)
# Rubyのバージョンを確認
$ ruby -v
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin10.8.0]

0 件のコメント:

コメントを投稿