26

我刚刚更新到 OS X Mountain Lion,在使用 rails 和 terminal 时我得到了以下信息。

WARNING: Nokogiri was built against LibXML version 2.8.0, but has dynamically loaded 2.7.8

我已经查看了类似问题的其他答案,但它们似乎并没有阻止警告消息的出现。

4

9 回答 9

27

我在 ruby​​ 1.9.2 上安装 nokogiri gem 时遇到了类似的问题,显然 Apple 升级了 gcc ......我用符号链接修复了这个问题,然后 gem 安装得很好:

sudo ln -s /usr/bin/gcc /usr/bin/gcc-4.2

于 2012-07-29T19:08:59.860 回答
18

gem 'nokogiri'上面gem 'pg'放在我的 Gemfile 中为我解决了这个问题。

我的 Gemfile 中没有 nokogiri,但它是 Gemfile.lock 中的一个依赖项,所以我明确地将它放在我的 Gemfile 中。

于 2013-03-19T05:27:49.200 回答
14

如果你有一个 Gemfile 并且正在使用 bundler,那么传递标志来安装 gems 通常是一个坏主意。即使您不是,您也将使用自定义编译的 libxml,您可能不会记得...!我开始尝试尝试让它工作,甚至 brew 安装 libxml2。

事实证明,如果您重新安装(并因此重新编译)您正在使用的 ruby​​ 版本(希望使用 rvm),它会起作用。

因此,对于 RVM 用户:

    rvm list (gets your rubies - choose the one being used)
    rvm uninstall RUBY_VERSION
    rvm install SAME_RUBY_VERSION
    bundle (or gem install nokogiri)

它对我有用。

于 2012-07-30T02:31:14.430 回答
9

在 OS X 10.8.2 (Mountain Lion) 上使用 Ruby 1.9.3-p194 和 Rails 3.2.11,启动 rails c 会发出警告:

WARNING: Nokogiri was built against LibXML version 2.8.0, but has dynamically loaded 2.7.8

卸载/安装 nokogiri 技巧对我不起作用。解决方案要简单得多...通过编辑 Gemifile 将“nokogiri”放在“pg”上方,完全避免了警告。

参考:

于 2013-01-18T07:32:38.987 回答
7

到目前为止列出的所有解决方案都对我不起作用。

所以,我做了一个brew uninstall libxml2libxml2 2.8.0 版本,我猜我的 os x 预装了 libxml2 2.7.8 版本

然后我做了gem uninstall nokogiri然后gem install nokogiri

警告现在消失了。但它是 libxml2 版本 2.7.8 而不是最新的。因此,如果您建议一些适用于最新版本 libxml2 的解决方案,我将不胜感激。

于 2012-09-25T09:21:49.640 回答
6

我刚遇到这个问题。

我的问题出乎意料地轻松解决了。

gem uninstall nokogiri

已选中all versions

然后gem install nokogiri它就消失了。

如果您使用的是自制软件,则可以brew updatebrew doctor. 升级到山狮甚至删除了我的 git 和东西。我通过在 Xcode 中安装 cc 工具并使用 brew doctor 来确保它raring to go在上述之前安装它。

于 2012-07-26T13:22:08.167 回答
5

所以我最终使用了以下命令:

bundle config build.nokogiri --with-xml2-include=/usr/local/Cellar/libxml2/2.7.8/include/libxml2 --with-xml2-lib=/usr/local/Cellar/libxml2/2.7.8/lib --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.26/

然后做:

gem uninstall nokogiri
gem install nokogiri

然后跑了

bundle install
于 2012-07-26T16:18:05.420 回答
2

似乎没有什么对我有用来解决这个问题。

然后我进入 xcode 并安装了更新的命令行工具,然后gem uninstall nokogirigem install nokogiri成功了!

于 2012-11-06T01:57:43.547 回答
1

升级 ruby​​-build 后

brew update
brew upgrade ruby-build

我刚刚重新安装了 ruby​​(最新版本)

rbenv install 1.9.3-p194

然后我安装了所有与我的项目相关的 gem,包括 nokogiri,没有进一步的问题。

gem install bundler
bundle
于 2012-07-27T14:42:21.570 回答