OSX Mavericks 10.9デモをインストールした後、バンドルを実行した後にこれを取得する
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/Users/sandric/.rvm/rubies/Ruby-1.9.3-p194/bin/Ruby extconf.rb
extconf.rb:17: Use RbConfig instead of obsolete and deprecated Config.
checking for socket() in -lsocket... *** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers. Check the mkmf.log file for more
details. You may need configuration options.
Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--Ruby=/Users/sandric/.rvm/rubies/Ruby-1.9.3-p194/bin/Ruby
--with-iconv-dir
--without-iconv-dir
--with-iconv-include
--without-iconv-include=${iconv-dir}/include
--with-iconv-lib
--without-iconv-lib=${iconv-dir}/lib
--with-zlib-dir
--without-zlib-dir
--with-zlib-include
--without-zlib-include=${zlib-dir}/include
--with-zlib-lib
--without-zlib-lib=${zlib-dir}/lib
--with-socketlib
--without-socketlib
/Users/sandric/.rvm/rubies/Ruby-1.9.3-p194/lib/Ruby/1.9.1/mkmf.rb:381:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
from /Users/sandric/.rvm/rubies/Ruby-1.9.3-p194/lib/Ruby/1.9.1/mkmf.rb:461:in `try_link0'
from /Users/sandric/.rvm/rubies/Ruby-1.9.3-p194/lib/Ruby/1.9.1/mkmf.rb:476:in `try_link'
from /Users/sandric/.rvm/rubies/Ruby-1.9.3-p194/lib/Ruby/1.9.1/mkmf.rb:619:in `try_func'
from /Users/sandric/.rvm/rubies/Ruby-1.9.3-p194/lib/Ruby/1.9.1/mkmf.rb:845:in `block in have_library'
from /Users/sandric/.rvm/rubies/Ruby-1.9.3-p194/lib/Ruby/1.9.1/mkmf.rb:790:in `block in checking_for'
from /Users/sandric/.rvm/rubies/Ruby-1.9.3-p194/lib/Ruby/1.9.1/mkmf.rb:284:in `block (2 levels) in postpone'
from /Users/sandric/.rvm/rubies/Ruby-1.9.3-p194/lib/Ruby/1.9.1/mkmf.rb:254:in `open'
from /Users/sandric/.rvm/rubies/Ruby-1.9.3-p194/lib/Ruby/1.9.1/mkmf.rb:284:in `block in postpone'
from /Users/sandric/.rvm/rubies/Ruby-1.9.3-p194/lib/Ruby/1.9.1/mkmf.rb:254:in `open'
from /Users/sandric/.rvm/rubies/Ruby-1.9.3-p194/lib/Ruby/1.9.1/mkmf.rb:280:in `postpone'
from /Users/sandric/.rvm/rubies/Ruby-1.9.3-p194/lib/Ruby/1.9.1/mkmf.rb:789:in `checking_for'
from /Users/sandric/.rvm/rubies/Ruby-1.9.3-p194/lib/Ruby/1.9.1/mkmf.rb:840:in `have_library'
from extconf.rb:27:in `<main>'
Gem files will remain installed in /Users/sandric/.bundler/tmp/5282/gems/libxml-Ruby-2.6.0 for inspection.
Results logged to /Users/sandric/.bundler/tmp/5282/gems/libxml-Ruby-2.6.0/ext/libxml/gem_make.out
An error occurred while installing libxml-Ruby (2.6.0), and Bundler cannot continue.
Make sure that `gem install libxml-Ruby -v '2.6.0'` succeeds before bundling.
私はコマンドラインツールを持っていないと思うので、私はいくつかをダウンロードしようとしました。私のXCodeにはこれに関する通常のリンクがないことがわかりました(5ではなく4です、理由はわかりません。5番目のXcodeをインストールする方法がある場合-助けてください)。だから私はApple開発者のウェブページに行き、10.9のコマンドラインツールが見つかりませんでした。 10.8インチ。
助けてください。ヘルプのためにすべての情報を提供します。
TLDR:
xcode-select --install
OS X 10.9では、コマンドライン開発者ツールが使用時にオンデマンドでインストールされるようになりました(これは、後のコメントで参照するポップアップです)。
コマンドラインツールの1つを初めて使用しようとすると、ポップアップが表示され、コマンドラインツールをインストールする必要があるというメッセージとエラーコードとともに元のコマンドが返されます。この場合、問題はRubyプロセスが必要なコマンドラインツールに関するメッセージを隠していることです。
ポップアップがトリガーされるのを待つのではなく、コマンドラインツールを明示的にインストールする場合は、xcode-select --install
。コマンドラインツールパッケージは、 http://developer.Apple.com/downloads からの独立したダウンロードとしても利用できます。
システムにXcodeがインストールされている場合、別のコマンドラインツールパッケージは不要になるはずです。/usr/binのツールは、Xcodeアプリケーション内にあるツールを自動的に使用します。これが、Xcode UIがコマンドラインツールをインストールするオプションを提供しなくなった理由です。
この問題に遭遇した他の人のために、私はそれを動作させるためにbrew経由でApple-gccもインストールしなければなりませんでした:
brew install Apple-gcc42
OSX Mavericksにアップグレードした後にgemをインストールするのと同じ問題がありました。私はエラーメッセージの中でこれを見ました:
make: gcc-4.2: No such file or directory
これは、gccを見つけるのに問題があることを示唆しています。 「ls/usr/bin」と入力すると、「gcc」はあるが「gcc-4.2」はないことがわかります。そこで、次のように「gcc-4.2」ではなく「gcc」で検索するように指示するシンボリックリンクを設定しました。
Sudo ln -s /usr/bin/gcc /usr/bin/gcc-4.2
これで問題が解決しました。それが役に立てば幸い。
両方を実行する必要がありましたxcode-select --install
およびSudo ln -s /usr/bin/gcc /usr/bin/gcc-4.2
インストールするバンドルを取得するにはffi
コメントするほどの評判はありませんが、Vykeのソリューションは役に立ちました/必要でした。 mavericksに更新した後の私の成功への道は次のとおりでした。
...そして、jekyll/octopressベースのWebサイトの更新に戻ることができました。
MavericksのXCode 5.0.2でも同じエラーが発生しました。 5.0.1では予想どおりに修正されなかったようです。
xcode-select -- install
は、コマンドラインツールをインストールするためのダイアログを表示しました(これは既に2回実行しました)が、「サーバーで見つからない」ため失敗しました。たぶんこのアプローチは時代遅れですか?
上記のbiobonnieのソリューションは私のために働いた:
Sudo ln -s /usr/bin/gcc /usr/bin/gcc-4.2
その後、ついにココアポッドが適切にインストールされます!ありがとう! (賛成しますが、まだできません...)
私はちょうどMountain Lionをマーベリックにアップグレードし、上記のメッセージを受け取りました。
最終的にXCodeを起動し、コンポーネントを自動的にインストールするように要求しました。それが完了した後、私は再バンドルし、それが機能しました。