web-dev-qa-db-ja.com

OSX 10.10 YosemiteにNokogiriをインストールする

最近、10.10 Yosemiteベータ版にアップグレードしましたが、Nokogiriのインストールに問題があります。 RVMとRuby 1.9.3。を使用しています。手順も here に沿って行って、Nokogiriのホームページの指示に従ってみました。

Homebrew経由でlibxml2(2.9.1)とlibxslt(1.1.28)をインストールし、Xcode 5インストールとXcode 6ベータの両方からコマンドラインツールを使用してみました。

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

        /Users/grantdavis/.rvm/rubies/Ruby-1.9.3-p362/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.

Provided configuration options:
    --with-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/grantdavis/.rvm/rubies/Ruby-1.9.3-p362/bin/Ruby
    --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-iconv-dir
    --without-iconv-dir
    --with-iconv-include
    --without-iconv-include=${iconv-dir}/include
    --with-iconv-lib
    --without-iconv-lib=${iconv-dir}/lib
    --with-xml2-dir
    --without-xml2-dir
    --with-xml2-include
    --without-xml2-include=${xml2-dir}/include
    --with-xml2-lib
    --without-xml2-lib=${xml2-dir}/lib
    --with-xslt-dir
    --without-xslt-dir
    --with-xslt-include
    --without-xslt-include=${xslt-dir}/include
    --with-xslt-lib
    --without-xslt-lib=${xslt-dir}/lib
    --with-libxslt-config
    --without-libxslt-config
    --with-pkg-config
    --without-pkg-config
    --with-libxml-2.0-config
    --without-libxml-2.0-config
    --with-libiconv-config
    --without-libiconv-config
/Users/grantdavis/.rvm/rubies/Ruby-1.9.3-p362/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/grantdavis/.rvm/rubies/Ruby-1.9.3-p362/lib/Ruby/1.9.1/mkmf.rb:506:in `try_cpp'
    from /Users/grantdavis/.rvm/rubies/Ruby-1.9.3-p362/lib/Ruby/1.9.1/mkmf.rb:970:in `block in find_header'
    from /Users/grantdavis/.rvm/rubies/Ruby-1.9.3-p362/lib/Ruby/1.9.1/mkmf.rb:790:in `block in checking_for'
    from /Users/grantdavis/.rvm/rubies/Ruby-1.9.3-p362/lib/Ruby/1.9.1/mkmf.rb:284:in `block (2 levels) in postpone'
    from /Users/grantdavis/.rvm/rubies/Ruby-1.9.3-p362/lib/Ruby/1.9.1/mkmf.rb:254:in `open'
    from /Users/grantdavis/.rvm/rubies/Ruby-1.9.3-p362/lib/Ruby/1.9.1/mkmf.rb:284:in `block in postpone'
    from /Users/grantdavis/.rvm/rubies/Ruby-1.9.3-p362/lib/Ruby/1.9.1/mkmf.rb:254:in `open'
    from /Users/grantdavis/.rvm/rubies/Ruby-1.9.3-p362/lib/Ruby/1.9.1/mkmf.rb:280:in `postpone'
    from /Users/grantdavis/.rvm/rubies/Ruby-1.9.3-p362/lib/Ruby/1.9.1/mkmf.rb:789:in `checking_for'
    from /Users/grantdavis/.rvm/rubies/Ruby-1.9.3-p362/lib/Ruby/1.9.1/mkmf.rb:969:in `find_header'
    from extconf.rb:114:in `<main>'

これらのインストールエラーを修正する方法についてのアイデアはありますか?

EDIT 6/10/14:OSX 10.10にNokogiriをインストールするために数日間試みた後、タスクを放棄し、10.9を復元しました機械。 10.10環境で動作するには、いくつかのライブラリとバンドルを更新する必要があります。

53
gdavis

ヨセミテ(OS X 10.10プレビュー)でノコギリをインストールできました。

ステップ1:Brewをインストールする

Brewがインストールされている場合、これをスキップします。

Ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

ステップ2:brew libsをインストールする

brew tap homebrew/dupes
brew install libxml2 libxslt
brew install libiconv

ステップ3:10.10のコマンドラインツールをダウンロードしてインストールApple

インストール後に再起動する必要があることが重要です。

リンク: command_line_tools_for_osx_10_10_june_2014.dmg

再起動後、ターミナルでインストールを確認できます。

> xcode-select --install
-> xcode-select: error: command line tools are already installed, use "Software Update" to install updates

このエラーは、コマンドラインツールが正しくインストールされていることを意味します。

ノコギリのインストール

Gemfileで以前のバージョン1.6.1を使用してみてください。バージョン1.6.2.1には、現在「10.10プレビュー」に関する問題があります。 rbenv Ruby 2.0.0p247、2.1.1でのインストールに失敗しました。既存のRubyバージョンを数回試すことができます。

gem install nokogiri  -v '1.6.1' -- --with-iconv-dir=/usr/local/Cellar/libiconv/1.14/
79
activars

libxml2-Yosemiteの1.6.6.2:

Sudo env ARCHFLAGS="-Arch x86_64" gem install nokogiri -- --use-system-libraries  -- --with-xml2-include=/usr/local/Cellar/libxml2/2.9.2/include/libxml2 --with-xml2-lib=/usr/local/Cellar/libxml2/2.9.2/lib --with-xslt-lib=/usr/local/lib --with-xslt-include=/usr/local/include
63
xrage

Mac OS El Capitanの場合:

gem install nokogiri -v '1.6.7.1' -- --use-system-libraries=true --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/libxml2

22
Maximus S

これは私のために働いた:

ARCHFLAGS="-Arch x86_64" gem install nokogiri -v '1.6.0'
18
Tom Coleman

MacPorts Ruby2.1でも同じ問題が発生しました。

can not gem install nokogiri on osx10.10 with macports Ruby2.1

インストールが開始され、CPUが100%の単一コアで50%になり、CPUがゼロ近くまで低下しますが、iostat tpsは壁を通り抜けます。

これは助けました:

# port install libiconv libxslt libxml2

# gem install nokogiri -- --use-system-libraries --with-iconv-dir=/opt/local --with-xml2-dir=/opt/local --with-xslt-dir=/opt/local
7
edx

これは最終的に私のために働いた:

Sudo gem install nokogiri -- --use-system-libraries --with-xml2-include=/usr/include/libxml2 --with-xml2-lib=/usr/lib/
5
Manas Tungare

これをEl Capitanで動作させることができなかった他の人にとって、最終的に私のために働いたのは:

Sudo gem install nokogiri -- --use-system-libraries --with-xslt-dir=/usr/local/opt/libxslt --with-iconv-dir=/usr/local/opt/libiconv --with-xml2-dir=/usr/local/opt/libxml2 --with-xml2-config=/usr/local/opt/libxml2/bin/xml2-config --with-xml2-include=/usr/local/opt/libxml2/include/libxml2 --with-xslt-config=/usr/local/opt/libxslt/bin/xslt-config

Macportsをインストールしておらず、私のシステムは奇妙なホッジポッジです。 Nokogiriをコンパイルするには、依存関係ごとに特定のインストールを強制するしかありません。非常に迷惑ですが、少なくとも動作します。

5
ramijames
Sudo gem update --system
Sudo gem install nokogiri -v '1.6.6.2' -- --use-system-libraries --with-xml2-include=/usr/include/libxml2 --with-xml2-lib=/usr/lib
3
IM_AG

Nokogiriウェブサイト の手順は、OSX 10.9と10.10の両方で機能しました。

brew unlink gcc-4.2      # you might not need this step
gem uninstall nokogiri
xcode-select --install
gem install nokogiri
3
Daniel Romero

(完全な回答はこちら https://Gist.github.com/chrisb/4d6a09c6cc1ca2e1b14e

Homebrewは何らかの方法でRuby Versions/1.8に存在します(Mavericksでも2.0に同梱されています)。Homebrewはこれに対処するまで、システムバージョンRuby Homebrewが探すものに。

フォルダーを作成します。

Sudo mkdir -p /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin

次に、バイナリをシンボリックリンクします。

Sudo ln -s /usr/bin/Ruby /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/Ruby
2
parquar

これは私のために働いた:

$ brew install libxml2 libxslt  # optional?
$ brew install libiconv         # optional?
$ gem install nokogiri -v 1.6.8 -- --use-system-libraries --with-xml2-include=/usr/local/opt/libxml2

このような環境では:

$ sw_vers -productVersion 
10.9.4
$ brew -v
Homebrew 0.9.9 (git revision aa747; last commit 2016-05-26)
$ gem env
RubyGems Environment:
  - RUBYGEMS VERSION: 2.0.14
  - Ruby VERSION: 2.0.0 (2014-02-24 patchlevel 451) [universal.x86_64-darwin13]
2
Nakilon

OS X Yosemiteバージョン10.10.5で同じエラーメッセージが表示されました

最近、さまざまなOSの更新を行ったところ、次のコマンドを使用して新しいxcodeライセンス契約に同意するだけでよいことがわかりました。

Sudo xcodebuild -license
1
Torben Jacobsen

OS X 10.10とMacPortsを使用している場合は、pkgconfigもインストールする必要があります。

Sudo port install pkgconfig libxml2 libxslt libiconv

また、構成オプションを追加せずにMacPortsライブラリを自動的に使用する場合は、これを.profileまたは.bashrcに追加する必要があります。

export PATH=/opt/local/bin:/opt/local/sbin:$PATH
export MANPATH=/opt/local/share/man:$MANPATH
export LDFLAGS="-L/opt/local/lib"
export CPPFLAGS="-I/opt/local/include"

また、これを追加して、Nokogiriに常にシステムライブラリを使用するように指示することもできます。

export NOKOGIRI_USE_SYSTEM_LIBRARIES=Y

これらすべてのエクスポートを追加した後、ターミナルを再起動します。

この構成を使用すると、以下を使用してNokogiriをインストールできます。

gem install nokogiri
1
Xeron

私のために働いた唯一のことは、コンパイラをApple-gcc42からgcc48にアップグレードすることでした:

brew uninstall Apple-gcc42
brew install gcc48 # this might take an hour or so
rvm implode
\curl -sSL https://get.rvm.io | bash -s stable # reinstall RVM
rvm install Ruby-1.9.3-p551
bundle update libv8 # 3.16.14.3 doesn't work but 3.16.14.7 does
bundle
1
Hew Wolff

Xcode 6のCLIツールを使用するのではなく、Xcode 5に切り替えるには:

Sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer/
0
alexzg

この問題はシステムに関連していると思いますRubyが見つからないか、複数のRubieがインストールされています。

  • RVMを使用してルビーを管理していますか?
  • Ruby -vの出力は何ですか?

これらは解決策を見つけるための出発点であるはずです。

bad interpreterエラーは、Rubyインストールの問題に関連しています。

Xcodeに同梱されているシステムRubyから始めるのが理想的です。したがって、次を使用してXcodeを完全にアンインストールします。

http://osxdaily.com/2012/02/20/uninstall-xcode/

brewrvmをアンインストールして、再インストールします。

0
frishi

これはうまくいきました:

gem install nokogiri -- --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/libxml2 --use-system-libraries

ソース

0
0bserver07

完全なXcodeをインストールします。ノコギリの古いバージョンで私にとって働いたのはそれだけでした。

0
marano

ちょうど試して:

xcode-select --install
0
leoyamasaki

mac OS Xで「Mac OS El Capitanにインストール中に/ usr/bin/nokogiriを書き込めない」問題を解決します。

Sudo gem install nokogiri -n /usr/local/bin

参照: https://www.bountysource.com/issues/28085261-can-t-write-usr-bin-nokogiri-while-installing-on-mac-os-ei-capitan

0
vivia

私の場合、エラーメッセージは以下に書かれており、それに応じた解決策も書かれています。

エラーメッセージ:

...
libxml2 is missing.  Please locate mkmf.log to investigate how it is failing.
...

溶液:

gem install nokogiri -- --use-system-libraries --with-libxml2lib=/usr/local/opt/libxml2/lib/libxml2.a

Libxml2.aのライブラリのパスを直接指定しました

0
Ivan Lin