Mac10.7.3 Xcode4.3.2 rvm Ruby1.9.3-p194 環境構築

Ruby

Xcodeとrvmと最新のrubyではめられた感じ満載の@HIROCASTERでございませう。

手元のXcodeがすごく古かったので、刷新しようとしたらあれやこれや作業が必要になった。

最新のXcodeだけでは、最新のRubyをコンパイルできないし、Ruby1.9.3-p194からSSL証明書をちゃんとチェックするので、その設定してあげないとcurlでgem取ってこれないので、なんもできないとかいろいろ同時に問題が起きた。

今日はMacに最新のXcode4.3.2をインストールした状態で、最新のRuby1.9.3-p194を利用できる状態を構築します。

スポンサーリンク

Xcode 4.3.2

App Store などから Xcode をインストールする。

4.3.2は /Applications へアプリがインストールされるので起動する。

メニューの Xcode -> Preferences… を起動する。

Downloads タブを開き Command Line Tools をインストールする。

Xcode 4 3 2 preferences downloads 1

古いXcodeが入っていた場合など

Xcodeの参照先などがおかしくなっているため、下記の様になるように設定し直してください。

$ xcode-select  -print-path
/Developer
$ sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
$ xcode-select -print-path
/Applications/Xcode.app/Contents/Developer

osx-gcc-installer

Xcode 4.3.2 だとRubyのコンパイルをするのに問題があるようなので、osx-gcc-installer をインストールして、これを使う。

https://github.com/kennethreitz/osx-gcc-installer をブラウザで開き GCC-10.7.pkg をダウンロードしてインストール

libksba

libksba が Ruby 1.9.3 では必要なようなので、インストールする。

僕はMacPortsを利用しているので、こんな感じ。

$ sudo port install libksba

brewを利用している場合は

$ brew install libksba

rvm

まずは rvm をインストールする。

$ curl -L get.rvm.io | bash -s stable
$ source  /Users/hirocaster/.rvm/scripts/rvm

環境変数を有効にするのに .zshrc あたりにこれを加えておく

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"

openssl

$ rvm pkg install openssl

ユーザー名の部分は適当に環境に合わせて変更してください。

Ruby 1.9.3-p194 からhttpsへのアクセス挙動がセキュアになったので、きちんとした証明書を設定してあげないとgemを取ってくるときなどにエラーをはくので、curlの証明書を設置しています。必要に応じて、curlを最新版にしてから実施してください。

rvmが使う証明書の位置を把握する

$ ruby -ropenssl -e 'p OpenSSL::X509::DEFAULT_CERT_FILE'
"/Users/hirocaster/.rvm/usr/ssl/cert.pem"
<

curlの証明書を置く

$ sudo cp /opt/local/share/curl/curl-ca-bundle.crt ~/.rvm/usr/ssl/cert.pem
$ sudo chown <ユーザー名> ~/.rvm/usr/ssl/cert.pem

これでも gem を取得する際にSSLエラーが出る場合はやむを得ず、HTTPSで取得するのをやめることもできます。

~/.gemrc あたりにこう書きます。

:sources:
  - http://rubygems.org

Gemfile なんかは

source 'https://rubygems.org'

の部分を

source 'http://rubygems.org'

しておく。でも、あまり推奨された方法ではありませんね。HTTPSで取得できる場合、HTTPSで取得した方が良いです。

pkg

このあたりも入れておく。

$ rvm pkg install iconv
$ rvm pkg install readline

環境確認

以下のような環境になっていることを確認してください。こうなってなければ、上記の設定にミスがあります。

gcc

$ gcc -v
Using built-in specs.
Target: i686-apple-darwin11
Configured with: /private/var/tmp/llvmgcc42/llvmgcc42-2336.9~22/src/configure --disable-checking --enable-werror --prefix=/Applications/Xcode.app/Contents/Developer/usr/llvm-gcc-4.2 --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-prefix=llvm- --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin11 --enable-llvm=/private/var/tmp/llvmgcc42/llvmgcc42-2336.9~22/dst-llvmCore/Developer/usr/local --program-prefix=i686-apple-darwin11- --host=x86_64-apple-darwin11 --target=i686-apple-darwin11 --with-gxx-include-dir=/usr/include/c++/4.2.1
Thread model: posix
gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.9.00)

rvm requirements

$ rvm requirements
  Notes for Mac OS X 10.7.3, Xcode 4.3.2.
For MacRuby: Install LLVM first.
For JRuby:  Install the JDK. See http://developer.apple.com/java/download/  # Current Java version "1.6.0_26"
For IronRuby: Install Mono >= 2.6
For Ruby 1.9.3: Install libksba # If using Homebrew, 'brew install libksba'
You can use & download osx-gcc-installer: https://github.com/kennethreitz/osx-gcc-installer
** NOTE: Currently, Node.js is having issues building with osx-gcc-installer. The only fix is to install Xcode over osx-gcc-installer.
We had reports of http://hpc.sourceforge.net/ making things work, but it looks like not easiest/safest to setup.
To use an RVM installed Ruby as default, instead of the system ruby:
    rvm install 1.8.7 # installs patch 357: closest supported version
    rvm system ; rvm gemset export system.gems ; rvm 1.8.7 ; rvm gemset import system.gems # migrate your gems
    rvm alias create default 1.8.7
And reopen your terminal windows.
Xcode 4.2:
 * is only supported by ruby 1.9.3+
 * it breaks gems with native extensions, especially DB drivers.
Xcode 4.3+ users
- please be warned
- only ruby-1.9.3-p125+ is partially supported
- in case of any compilation issues:
 * downgrade to Xcode 4.1
 * uninstall Xcode and install osx-gcc-installer
and reinstall your rubies.

ruby 1.9.3-p194

$ rvm install 1.9.3-p194 --with-iconv-dir=$rvm_path/usr --with-openssl-dir=$rvm_path/usr --with-readline-dir=$rvm_path/usr --with-gcc=clang

“–with-gcc=clang” をつけてコンパイルします。

$ rvm use 1.9.3-p194 --default
$ ruby -v
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin11.3.0]

railsもいれとこう

$ gem install rails
$ rails -v
Rails 3.2.3

最新をちょくちょくアップデートしていく方が、楽だなぁ。と感じた今日この頃。

4797357401

たのしいRuby 第3版

高橋 征義、後藤 裕蔵、まつもと ゆきひろ

4873113946

プログラミング言語 Ruby

まつもと ゆきひろ、、まつもと ゆきひろのAmazon著者ページを見る、検索結果、著者セントラルはこちら、David Flanagan、卜部 昌平 (監訳)、長尾 高弘

タイトルとURLをコピーしました