Nokogiri宝石未能在OS X Mavericks中安装

安装失败显示:

checking for iconv_open() in iconv.h... no
checking for iconv_open() in -liconv... no
checking for iconv_open() in -liconv... no
checking for libiconv_open() in iconv.h... no
checking for libiconv_open() in -liconv... no
checking for libiconv_open() in -liconv... no
libiconv is missing.

但是,看看nokogiri的mkmf.log,会显示以下错误:

ld: warning: ignoring file /usr/local/Cellar/libxslt/1.1.28/lib/libxslt.dylib, **file was built for x86_64 which is not the architecture being linked (i386)**: /usr/local/Cellar/libxslt/1.1.28/lib/libxslt.dylib

ld: warning: ignoring file /usr/local/Cellar/libxml2/2.9.1/lib/libxml2.dylib, **file was built for x86_64 which is not the architecture being linked (i386)**: /usr/local/Cellar/libxml2/2.9.1/lib/libxml2.dylib

ld: warning: ignoring file /usr/local/Cellar/libiconv/1.14/lib/libiconv.dylib, **file was built for x86_64 which is not the architecture being linked (i386)**: /usr/local/Cellar/libiconv/1.14/lib/libiconv.dylib

我有xcode,它是安装的命令工具。 我的〜/ .bash_profile有64位编译强制:export ARCHFLAGS =“ - arch x86_64”

我通过Homebrew安装了libxml2,libxslt和libiconv,并且每个都是链接的。 我试过在.bash_profile中没有ARCHFLAG安装所有这些。

我也酿造安装苹果gcc42和链接,根据我怎么找到。

我尝试通过在/ usr / local / Cellar /中传递libxml2,libxslt和libiconv的路径来安装nokogiri,但安装仍然失败,并且出现与上述相同的错误。

我至少浪费了一天的时间 - 只是想安装一个Ruby gem。 我真的很想回到真正的发展。

任何人都可以帮忙吗?


在实际安装gem之前设置NOKOGIRI_USE_SYSTEM_LIBRARIES=1为我做了诀窍。

总结:

  • 如果以前安装,请卸载gem:
    $ gem uninstall nokogiri

  • 如果需要,使用Homebrew安装libxml2libxsltlibiconv
    $ brew install libxml2 libxslt libiconv

  • 安装gem,指定要链接的库的路径:
    $ NOKOGIRI_USE_SYSTEM_LIBRARIES=1 gem install nokogiri -- --use-system-libraries --with-iconv-dir="$(brew --prefix libiconv)" --with-xml2-config="$(brew --prefix libxml2)/bin/xml2-config" --with-xslt-config="$(brew --prefix libxslt)/bin/xslt-config"


  • 作为一个独立的解决方案,我已经将这个ruby脚本放在一起,作为一个要与最新的Mac OS X / Homebrew安装配合使用的要点。
  • 你基本上只依靠自制的图书馆,而不是过时的苹果图书馆。 简单。
  • 您可以通过将bundle作为参数进行配置并使用Bundler(而不是gem )进行配置和安装。
  • 检查出来,请随时贡献 - 也许我们可以将它归结为一个脚本来修复它们!


  • 用适当的XCode命令行工具检查HomeBrew是否正确安装。
  • 酿造医生

  • 您也可以通过XCode>首选项进行检查
  • 通过安装有效的命令行工具,我能够解决OSX Maverick升级后遇到的nokogiri错误。

    还发现一些'brew'软件包在OS X Mountain Lion升级到Maverick后已经过时了。 (如qt,postgresql)

    链接地址: http://www.djcxy.com/p/61059.html

    上一篇: Nokogiri gem fails to install in OS X Mavericks

    下一篇: Error to install Nokogiri on OSX 10.9 Maverick?