在升级到Rails 4.2.0时,由于libxml2的问题,在Mac OS X Yosemite v.10.10.1上安装Nokogiri出现问题。

6

我正在尝试在我的电脑上安装Rails 4.2.0,但是我在安装Nokogiri时遇到了问题。我按照"bundle install stopped at Nokogiri"中第一个答案的步骤进行操作,但是当我运行brew install nokogiri时,出现以下错误:

Activating libxslt 1.1.28 (from /Users/dseibert/.rvm/rubies/ruby-2.2.0/lib/ruby/gems/2.2.0/gems/nokogiri-1.6.6.2/ports/x86_64-apple-darwin14.0.0/libxslt/1.1.28)...
checking for main() in -llzma... yes
checking for xmlParseDoc() in libxml/parser.h... no
checking for xmlParseDoc() in -lxml2... no
checking for xmlParseDoc() in -llibxml2... no
-----
libxml2 is missing.  Please locate mkmf.log to investigate how it is failing.
-----
*** 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
    --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=/Users/dseibert/.rvm/rubies/ruby-2.2.0/bin/$(RUBY_BASE_NAME)
    --help
    --clean
    --use-system-libraries
    --enable-static
    --disable-static
    --with-zlib-dir
    --without-zlib-dir
    --with-zlib-include
    --without-zlib-include=${zlib-dir}/include
    --with-zlib-lib
    --without-zlib-lib=${zlib-dir}/lib
    --enable-cross-build
    --disable-cross-build
    --with-xml2lib
    --without-xml2lib
    --with-libxml2lib
    --without-libxml2lib

extconf failed, exit code 1

Gem files will remain installed in /Users/dseibert/.rvm/rubies/ruby-2.2.0/lib/ruby/gems/2.2.0/gems/nokogiri-1.6.6.2 for inspection.
Results logged to /Users/dseibert/.rvm/rubies/ruby-2.2.0/lib/ruby/gems/2.2.0/extensions/x86_64-darwin-14/2.2.0/nokogiri-1.6.6.2/gem_make.out

我找不到mkmf文件来定位我的libxml2文件的详细信息,而且在我的Ruby源文件夹中也看不到libxml2文件或Nokogiri文件夹。当我运行brew install libxml2时,我得到了警告:libxml2-2.9.2已经安装的提示。
根据评论,我收到了回复:nokogiri-1.6.6.2安装成功。但是当我运行sudo gem install rails时,我又收到了上述错误。

https://dev59.com/Y2Ik5IYBdhLWcg3wDKNb - Justin D.
欢迎来到Stack Overflow。不必说“更新……”或“编辑……”之类的话。一旦我们获得足够的积分,就可以看到您问题的更改。也没有必要感谢我们,有点不鼓励。Stack Overflow 的目标是成为类似于编程问题的维基百科资源。因此,问题是参考资料。你见过有人在百科全书中说谢谢或请求帮助吗?只需要提出好问题,不要担心会话,你就会做得很好。 - the Tin Man
你解决了吗?分享一下为什么我也会出现这个错误。 :/ - Adriano Resende
不要使用 sudo gem install railssudo 会将您的权限提升到 root 用户,而 root 用户对于 Ruby 在您的计算机上的位置有完全不同的想法。当使用 RVM 或 rbenv 时,永远不要使用 sudo 安装 gem。相反,只需使用 gem install some_gem 即可。这样应该就可以了。 - the Tin Man
请查看这个链接:https://dev59.com/Y2Ik5IYBdhLWcg3wDKNb 最高赞的回答对我很有用。它也有适用于Yosemite和El Capitan的更新内容。 - Fabio Cionini
2个回答

4

试试这个

gem install nokogiri -- --use-system-libraries=true --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/libxml2/

这适用于OSX 10.11 El Capitan操作系统。


请查看:https://dev59.com/rWAf5IYBdhLWcg3w0VUf#34609741 - Zigii Wong

1
尝试这个:

bundle config build.nokogiri --use-system-libraries
bundle install

这适用于rails 4.2.0,OS X 10.11.2 El Capitan和安装了Xcode 7.2.1的情况。运行bundler时会出现以下结果:

Installing nokogiri 1.6.7.2 with native extensions

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接