Mac OS X 10.8 Mountain Lionを新規インストールした後、Ruby1.9.3とRubyon Rails 3.2.6をインストールした後、Railsコンソールを起動すると、次の警告メッセージが表示されました。
警告:NokogiriはLibXMLバージョン2.7.3に対してビルドされましたが、動的に2.7.8をロードしました
どうすれば修正できますか?
Mac OS X 10.8 Mountain Lionを新規インストールした後、Ruby1.9.3とRubyon Rails 3.2.6をインストールした後、Railsコンソールを起動すると、次の警告メッセージが表示されました。
警告:NokogiriはLibXMLバージョン2.7.3に対してビルドされましたが、動的に2.7.8をロードしました
どうすれば修正できますか?
Lionの修正はいくつか見つかりましたが、MountainLionの修正はまだありません。それにもかかわらず、私はこれを試しました、そしてそれは働きます:
gem uninstall nokogiri libxml-ruby
brew update
brew uninstall libxml2
brew install libxml2 --with-xml2-config
brew link libxml2
brew install libxslt
brew link libxslt
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/
出典(Lionの場合):https ://gist.github.com/1349681
gem uninstall nokogiri
bundle install
さらに良い:
gem pristine nokogiri
ノート:
これは、システムをアップグレードしてライブラリを変更すると、繰り返し発生します。
Rubyを再インストールしたところ、修正されました。組み込みライブラリを使用できました。
@Davids の投稿のようにリンクすると、ビルド ツールに干渉し、OS にリンクすることに注意してください (brew を使用している場合、これはおそらく望ましくありません) 。 ' 行とすべてが正常にビルドされます。例:
gem uninstall nokogiri libxml-ruby
brew update
brew uninstall libxml2
brew install libxml2 --with-xml2-config
brew install libxslt
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/
gem 'nokogiri'
上記をGemfilegem 'pg'
に入れると、これが修正されました。
私のGemfileにはnokogiriはありませんでしたが、Gemfile.lockにある依存関係だったので、明示的にGemfileに入れました。
@David からの回答に基づいて、次の手順で十分でした。コンパイラ フラグとカスタム パスはありません。
gem uninstall nokogiri
brew update
brew install libxml2
brew update libxml2
brew link libxml2
gem install nokogiri