web-dev-qa-db-ja.com

OS-X、Rails:「gemネイティブ拡張のビルドに失敗しました」

MacにRailsをインストールしようとしています。OSX 10.6.8があり、Rubyバージョン1.8.7があることを確認しました。

Sudo gem updateおよびSudo gem update --systemソフトウェアの最新バージョンを入手します。

ただし、Sudo gem install Railsこのエラーが表示されます。

ERROR:  Error installing Rails:
ERROR: Failed to build gem native extension.

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


Gem files will remain installed in /Library/Ruby/Gems/1.8/gems/json-1.6.3 for inspection.
Results logged to /Library/Ruby/Gems/1.8/gems/json-1.6.3/ext/json/ext/parser/gem_make.out
33
user884913

XCode 4以降を使用している場合は、それを開いて[設定]-> [ダウンロード]-> [コンポーネント]に移動し、デフォルトではインストールされていないコマンドラインツールをインストールする必要があります。これが起こるまで、Railsをインストールできませんでした。

47
Rob

Osx 10.10を使用しています。コマンドラインからダウンロードできます

xcode-select --install
35
longJOURNEY

コンパイルに必要なものはわかりませんが、OSXはRuby開発者ツールがインストールされていない限り、ネイティブApple拡張機能をまったくコンパイルできません。 10.7 Lionでは、アプリストアから無料でダウンロードできます。または、10.6の場合はこちらからダウンロードできます。 http://developer.Apple.com/xcode/index.php

おそらくはるかに古くなっていますが、OSXインストールディスクにも含まれている可能性があります。

8
Alex Wayne

ただフォローアップ...

macを使用している場合、Railsはcヘッダーに適したコンパイラを見つけることができません。

アプリストア/ homebrewからxcodeをインストールするか、ターミナルに移動してください...

$ xcode-select --install

インストールを完了し、ライセンスなどに同意してから...

$ Sudo gem install Rails

5
Jimmy M.G. Lim

OS X開発者ツールをインストールしましたか?ネイティブの拡張機能を構築するには、これを行う必要があります

4
RyanWilcox

失敗には2つの理由が考えられます。

  1. 主な理由:Xcodeコマンドラインツールがありません

Xcodeコマンドラインツールのインストールを手動で確認する: "/usr/include/iconv.h"の存在を確認します(absent => Xcode CLTが存在しないか、正しくインストールされていない場合)

Xcode CLTのインストールxcode-select --install端末で、指示に従います。失敗した場合は、Xcode.appを開き、メニューから[Xcode]-[開発者ツールを開く]-[その他の開発者ツール]を選択して開発者サイトを開き、OSバージョンのインストーラーをダウンロードして実行します。

  1. SECONDARY REASON(1。が失敗した場合):バージョンの問題rbenvを使用してRubyバージョンをアップグレードしてみてください。

それが役に立てば幸い!

3
Mohit Chawla

コマンドラインツールは、この問題を解決しませんでした。 Ruby rbenvを介したインストールを2.2.0にアップグレードし、グローバルデフォルトRubyインストールを行いました。この問題は修正されました。

1
tzharg

RVMを介してRubyをインストールしてみてください。この方法で解決しました。

インストール方法Ruby

1
sparkle

同様の問題がありました。コマンドラインツールをインストールすると修正されることを確認できます。