安装 nokogiri (1.5.2) 时出错

Posted

技术标签:

【中文标题】安装 nokogiri (1.5.2) 时出错【英文标题】:An error occurred while installing nokogiri (1.5.2) 【发布时间】:2012-04-01 07:29:31 【问题描述】:

当我尝试运行 ruby​​ on rails 项目时出现错误:

An error occurred while installing nokogiri (1.5.2), and bundle cannot continue.
Make sure that 'gem install nokogiri -v 1.5.2 succeed before building.

我正在开发 Ubuntu 10.10

我的同事在 Windows/RVM 上使用,没有这个问题。

编辑:

gem_make.out

/opt/bitnami/ruby/bin/ruby extconf.rb
extconf.rb:10: Use RbConfig instead of obsolete and deprecated Config.
checking for libxml/parser.h... yes
checking for libxslt/xslt.h... yes
checking for libexslt/exslt.h... yes
checking for iconv_open() in iconv.h... no
checking for iconv_open() in -liconv... no
-----
libiconv is missing.  please visit http://nokogiri.org/tutorials/installing_nokogiri.html for help with installing dependencies.
-----
*** 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
    --without-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=/opt/bitnami/ruby/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-iconvlib
    --without-iconvlib

【问题讨论】:

运行gem install nokogiri,然后将错误消息(全部)发布到问题中 感谢您的快速回答。这里的消息是:Gem 文件仍将安装在 /opt/bitnami/ruby/lib/ruby/gems/1.9.1/gems/nokogiri-1.5.2 中以供检查。结果记录到 /opt/bitnami/ruby/lib/ruby/gems/1.9.1/gems/nokogiri-1.5.2/ext/nokogiri/gem_make.out 应该不止这些。您发布的是从失败中恢复的内容。并且在您发布数据时继续编辑您的原始问题......评论框太多了 你刚刚看到了完整的错误页面。我对我的第一条评论进行了编辑 看起来 Skydreamer 击败了我 :) 【参考方案1】:

从输出:

libiconv is missing.  please visit http://nokogiri.org/tutorials/installing_nokogiri.html for help with installing dependencies.

安装 libiconv。

【讨论】:

【参考方案2】:

nokogiri 要求

sudo apt-get install libxslt-dev libxml2-dev

sudo gem install nokogiri

您可以访问http://nokogiri.org/tutorials/installing_nokogiri.html

【讨论】:

我已经安装了 libxslt-dev libxml2-dev,只是缺少 nokogiri gem。原来我的问题与 .bundle 文件夹有关。我把它作为 root 而不是我的用户和组。【参考方案3】:

不需要安装任何附加包。您可以将包含的库与 BitNami 一起使用(在 /opt/bitnami/common 中)。您只需要加载 BitNami 环境并指定 libxml2 文件的路径。在对此进行测试时,我遇到了类似的问题,但使用 libxml2,可以为您收到的 iconv 错误应用类似的解决方案。

$/opt/bitnami/rubyconsole

$sudo gem install nokogiri  -- --with-xml2-dir=/opt/bitnami/common --with-xml2-include=/opt/bitnami/common/include/libxml2

Building native extensions.  This could take a while...
Successfully installed nokogiri-1.5.2
1 gem installed
Installing ri documentation for nokogiri-1.5.2...
Installing RDoc documentation for nokogiri-1.5.2...

安装系统包并使用它们的解决方案应该也可以。

【讨论】:

我尝试了您上面列出的代码,但仍然得到libxml2 is missing。我正在使用 bitnami 堆栈,请问您还有什么建议吗? 您是否尝试了确切的命令?注意 nokogiri 和 --withxxxx 之后的 -- 这个答案应该优先于其他答案,因为它提倡使用现有的库。【参考方案4】:

什么对我有用(Mac OS X):

$ xcode-select --install

【讨论】:

作为 Mac 用户,这对我很有用。

以上是关于安装 nokogiri (1.5.2) 时出错的主要内容,如果未能解决你的问题,请参考以下文章

安装 nokogiri (1.10.10) 时出错,Bundler 无法继续

ruby nokogiri gem install mac osx high sierra

安装 ruby​​ gem nokogiri 时缺少 libxslt

如何在 Mac OS Sierra 10.12 上安装 Nokogiri

在 OSX 10.10 Yosemite 上安装 Nokogiri

在 Elastic Beanstalk 上安装 Nokogiri 失败