Mavericksでgemを使ってちょっとハマったのでメモ。

Mac(Mavericks)でrubyでもと思ってみたらこんなエラーが。

$ gem install json
Building native extensions.  This could take a while...
ERROR:  Error installing json:
        ERROR: Failed to build gem native extension.

    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb
mkmf.rb can't find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/include/ruby.h

解決策をググってみるとMavericksでC拡張を含むgemをインストールできない場合の対処法の記事がヒット。Command Line Developer Toolsを入れれば良いのかってことで、

$ xcode-select --install

を実行すると以下のように\(^o^)/
f:id:masami256:20131221192756p:plain

しょうがないのでAppleのデベロッパーセンターからCommand Line Developer Tools(OS X Mavericks) for Xcodeをダウンロードして手動インストールしたんだけど、エラーは相変わらずとれない><

どうしようかなーと思いつつ見ているとruby.h自体は/System/Library/Frameworks/Ruby.framework/Headersにあることを発見。じゃあ、シンボリックでも作ってみるかってことで以下のようにシンボリックリンクを作成。

$ sudo ln -s /System/Library/Frameworks/Ruby.framework/Headers /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/include

そして、gemでjsonのインストールを再度試したらインストールできた!
ちょっと力技な気もするけどまあいいや。

パーフェクトRuby (PERFECT SERIES 6)

パーフェクトRuby (PERFECT SERIES 6)