2012-07-12 10 views
18

Mac OS X 10.8 Mountain Lionの新規インストール後、Ruby 1.9.3およびRuby on Rails 3.2.6のインストール後、私はRailsのコンソールを開始し、私は、この警告メッセージが表示されました:警告:NokogiriはLibXMLバージョン2.7.3に対してビルドされましたが、動的にロードされました2.7.8

WARNING:鋸山はのlibxmlバージョン2.7.3に対して構築されましたが、 が動的に

2.7.8は、私はそれをどのように修正することができます読み込まれていますか?

+0

これは答えです:[http://stackoverflow.com/questions/16921700/how-to-load-correct-version-of-dynamic-libraries-and-gems-libxml-nokogiri-wit] [1] [1]:http://stackoverflow.com/questions/16921700/how-to-load-correct-version-of-dynamic-libraries-and-gems-libxml-nokogiri-wit –

答えて

13

私はライオンのためのいくつかの修正を見つけましたが、マウンテンライオンの修正はまだありません。それでも私はこれを試してみました、それが動作します(ライオン用)

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/ 

出典:https://gist.github.com/1349681

+0

おそらくこれしかし、Rails/RVM環境では、@ kyubeyの答えはおそらくより一般的です。 –

+0

それは異なります。 @kyubeyの答えがうまく動かない時があります。特に古いルビーがインストールされているシステムではうまくいきません。新しくインストールされたOS XではAFAIKは問題ありません。 –

+0

こんにちは、ヨセミテのためにこのwokrをしますか? – olleh

13

私はそれを修正ルビーを、再インストール。組み込みのライブラリを使用できました。

+2

これは実際に行く方法です。 Rubyを再インストールするだけで、カスタムコンパイルされたlibxmlを使用することの複雑さを気にする必要はありません。 – kjg

+3

シンプル: 'rvm uninstall 1.9.3-p194'。その後、 'rvm install 1.9.3'を実行します。以前のすべての宝石は残っています。 'gem install nokogiri'。作品! – Meltemi

+0

私はXcodeとコマンドラインツールをインストールして、ruby 1.9.3をもう一度インストールしなければなりませんでした(brewのapple-gcc42が私のために働いていなくても)。Preferences - > Download - > Componentsを使用してXcode CLIをインストールすることができます。 – danigb

13
gem uninstall nokogiri 
bundle install 

さらに良い:

gem pristine nokogiri 

注:お使いのシステムをアップグレードするとライブラリが変更と

これが繰り返し発生します。

+1

これはMountain Lion(10.8.2)の私のために働いた。バンドルをインストールしてnokogiriを再ダウンロードし、私がインストールしたlibxmlを使って再コンパイルしました。 –

+0

Mountain Lion 10.8.2 – nXqd

+0

私はこれを2度使用しました: "gem pristine nokogiri" –

0

@Davidの回答に基づいて、以下の手順で十分でした。コンパイラフラグとカスタムパスはありません。

gem uninstall nokogiri 

brew update 
brew install libxml2 
brew update libxml2 
brew link libxml2 

gem install nokogiri 
4

@Davidsポストのようにリンクする(あなたが醸造を使用している場合、あなたが望むものを最も可能性が高いではありません)あなたのOSにあなたのビルドツールとリンクに干渉することに注意してください、あなただけの各コマンドを実行することができます除く上の「BREWリンク」行を省略して、すべてのものはまだ例えば、単に罰金を構築します。私のGemfileにgem 'pg'gem 'nokogiri'を置く

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/ 
+1

これはよくある質問ですが、これは私のために解決した答えです。これを試している他の人は、バージョンが変更されていることに注意する必要があるので、最後の行をコピー/貼り付けするだけではありません。 'gem install nokogiri --with-xml2-include =/usr/local/Cellar/libxml2/[VERSION]/include/libxml2/--with-xml2-lib =/usr/local/Cellar/libxml2/[VERSION ]/lib/--with-xslt-dir =/usr/local/Cellar/libxslt/[VERSION]/' –

3

は私のためにこれを修正しました。

私のGemfileにはnokogiriがありませんでしたが、それはGemfile.lockに依存していたので、Gemfileに明示的に入れました。

関連する問題