気ままに

プログラム関連で困ったことを調べて気ままに投稿

MacOS Mavericks 10.9.2 でC拡張のインストールができない

MacOS Mavericks 10.9.2 でC拡張のインストールができない

自分のMacPCにRailsをインストールしようとするとエラーがでて、インストールできない、Google先生に聞いてみると、C拡張が入っていないのでエラーがでているようです。

しかも、調べてみた内容でも対処できなかったので、英語のページに書かれている方法で解決したので、その方法をメモも兼ねて、書いておきます。

解決までの内容

Railsのインストール

gemでRailsをインストールしようとした時に、下記のエラーが発生

$ sudo gem install rails
Gem files will remain installed in /Library/Ruby/Gems/2.0.0/gems/json-1.8.1 for inspection.

jsonのライブラリが不足していると思いjsonを更新

$ sudo gem install json -v '1.8.1'
Fetching: json-1.8.1.gem (100%)
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


Gem files will remain installed in /Library/Ruby/Gems/2.0.0/gems/json-1.8.1 for inspection.
Results logged to /Library/Ruby/Gems/2.0.0/gems/json-1.8.1/ext/json/ext/generator/gem_make.out


エラーの原因をGoogle先生に聞いてみると、MavericksでC拡張を含むgemをインストールできない場合の対処法という解決方法があったので、下記のコマンドを実行

$ xcode-select --install
$ sudo xcodebuild -license


この方法で解決できる人は、次の対応は必要ない。
上記の設定でライセンスを許可しても、該当のアプリがないと言われる場合がある。

最新のXcodeでは「Command Line Developer Tools」が付属されていない

Quick fix for Ruby after Xcode 5.1 updateにて解決方法があったので、下記のコマンドを実行すると見事インストールできました。

$ sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future gem install json -v '1.8.1'

Railsを入れるのに、ssqlite3も不足していたので、下記のコマンドで追加することで、無事Railsをインストールすることができました。

sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future gem install sqlite3 -v '1.3.9'


英語が苦手なので、どうしても日本語のサイトだけで解決方法をさがそうとしたのですが、なかったので頑張って英語サイトから解決方法を探してみました。

Mac歴2ヶ月なので、開発環境はこれからって感じです。
RubyRailsも、これから勉強するところです。これからブログも更新していくので、間違いがあればご連絡いただけるとありがいです。


ちなみに、Railsのインストールについては、【初心者向け】Mac(OSX Lion)でRuby on Railsを動かすための5ステップを参考にインストールしました。ありがとうございます。