0

我知道这里有很多关于这个的问题,但我真的无法在我的 OS X 10.8.3 系统上安装 Nokogiri。

我做了以下仪式:

brew install libxml2 libiconv libxslt
brew link --force libxml2 libiconv libxslt

但是在执行以下操作后我不断收到这些错误sudo gem install nokogiri

Fetching: nokogiri-1.5.5.gem (100%)
Building native extensions.  This could take a while...
ERROR:  Error installing nokogiri:
    ERROR: Failed to build gem native extension.

    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb
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
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.  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.

有趣的是,libiconv错误与错误随机交替libxml2出现。我按照http://nokogiri.org/tutorials/installing_nokogiri.html上的说明进行操作,但它不起作用。

编辑

我不相信刚刚发生的事情。真的,我没有。

brew uninstall libxml2 libiconv libxslt

它现在工作,gem安装它。它有点抱怨:

No definition for parse_memory

No definition for parse_file

No definition for parse_with

No definition for get_options

No definition for set_options
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rdoc/rdoc.rb:280: warning: conflicting chdir during another chdir block
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rdoc/rdoc.rb:287: warning: conflicting chdir during another chdir block

但至少在Middleman(那是我正在使用它)它就像一个魅力。我疯了吗?

4

1 回答 1

1

实际上对我有用的是这个。

酿造

安装后brew,安装以下库:

brew install libxml2 libxslt

虚拟机

现在,在 bash 中(如果您在zsh,只需发出bash移动到 bash shell)执行:

curl -L https://get.rvm.io | bash -s stable --rails --autolibs=enabled

获取 RVM(Ruby 版本管理器)。在您的bash|zshrc中,粘贴以下行:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"

在启动时加载 rvm。

请注意,如果您没有使用 安装上述库brew,则rvm安装将失败。

重新启动终端,然后发出:

rvm install 1.9.3 # or the version you like, 1.9.3 worked for nokogiri

并将此版本用作系统默认值,只需发出:

rvm --default use 1.9.3

通过安装 nokogirigem

现在该gem install nokogiri命令应该可以正常工作了。

请注意sudo,在处理rvmandgem东西时省略 the是基本的。这是我错过并让我发疯的事情之一。

于 2013-05-26T11:23:32.380 回答