3

新しい MacBook Pro (明らかに ML 付き) を購入したばかりです。私が最初にやっていることは、開発ツールのインストールです。Ruby を rvm でインストールし、Homebrew もインストールしました。XCode コマンド ライン ツールをダウンロードする必要がありました。

$ gcc -v
Using built-in specs.
Target: i686-apple-darwin11
Configured with: /private/var/tmp/llvmgcc42/llvmgcc42-2336.11~67/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.11~67/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.11.00)

mongogem を正常にインストールできましたが、インストールしようとするnokogiriと、次のエラーが発生します。

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

        /Users/johnsmith/.rvm/rubies/ruby-1.9.3-p327/bin/ruby extconf.rb
checking for libxml/parser.h... *** 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.

そのメッセージの後に、一連の構成オプションが一覧表示され、次のように表示されます。

/Users/johnsmith/.rvm/rubies/ruby-1.9.3-p327/lib/ruby/1.9.1/mkmf.rb:369:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.

開発ツールを持っているようで、問題がわかりません。何かご意見は?

4

2 に答える 2

3

しばらく見回す必要がありましたが、github で解決策を見つけました: https://github.com/sparklemotion/nokogiri/issues/442#issuecomment-7978408

libxml2 がありません。

Mac OS X 10.8 Mountain Lion 上の Homebrew 0.9 で上記の問題を解決するには、「/usr/bin/gcc-4.2」リンクを作成する追加の手順が必要であることがわかりました。

brew install libxml2 libxslt
brew link libxml2 libxslt
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz
tar xvfz libiconv-1.13.1.tar.gz
cd libiconv-1.13.1
./configure --prefix=/usr/local/Cellar/libiconv/1.13.1
make
sudo make install
sudo ln -s /usr/bin/gcc /usr/bin/gcc-4.2
gem install nokogiri -- --with-xml2-include=/usr/local/Cellar/libxml2/2.8.0/include/libxml2 --with-xml2-lib=/usr/local/Cellar/libxml2/2.8.0/lib --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.26 --with-iconv-include=/usr/local/Cellar/libiconv/1.13.1/include --with-iconv-lib=/usr/local/Cellar/libiconv/1.13.1/lib
于 2012-12-14T23:18:52.020 に答える
0

この場合、コンパイラ ツールの一部として提供されていない libxml の開発ヘッダーが必要です。通常、これらの依存関係をインストールするには、 HomebrewまたはMacPortsのいずれかをインストールする必要があります。

ここでのヒントは、慣れていない場合は騒音の中で見つけるのがやや難しいですが、次のとおりです。

checking for libxml/parser.h... *** extconf.rb failed ***

ファイルは開発パッケージで提供され、これら.hのライブラリに対して拡張機能をコンパイルするために必要です。

于 2012-12-14T22:25:55.343 に答える