在优胜美地10.10.3上安装Nokogiri [英] Install Nokogiri on Yosemite 10.10.3

查看:151
本文介绍了在优胜美地10.10.3上安装Nokogiri的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有:


  • Mac OS X Yosemite 10.10.3
  • MacPorts(不是Brew )

  • 系统中的Ruby 2(不是RVM)



我想安装Nokogiri并尝试:

  port install nokogiri 

得到:

 构建原生扩展。这可能需要一段时间...错误:错误
安装nokogiri:错误:无法构建gem本机扩展。

/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby -r
./siteconf20150323-30174-1mqhl4i.rb extconf.rb检查C
编译器接受...是检查C编译器是否接受
-Wno-error = unused-command-line-argument-hard-error-in-future ... no使用打包库构建nokogiri。在
-lz中检查gzdopen()...是检查iconv ...是
*********************** ****************************************************重要注意:

构建Nokogiri,打包版本为libxml2-2.9.2,应用补丁后为

- 0001 - 恢复 - 缺少 - 初始化为目录-module.patch
- 0002-Fix-missing-entities-after-CVE-2014-3660-fix.patch

团队Nokogiri将继续尽全力提供安全性
及时更新,但如果这是您的担忧并希望
改为使用系统库;放弃安装过程并
重新安装nokogiri,如下所示:

gem install nokogiri - --use-system-libraries
[--with-xml2-config = / path / to / xml2-config]
[--with-xslt-config = / path / to / xslt-config]

如果使用Bundler,请告诉它使用以下选项:

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

但是请注意,nokogiri与任意
版本不完全兼容由OS /软件包供应商提供的libxml2。
********************************************** **************************将libxml2-2.9.2.tar.gz提取到
tmp / x86_64-apple-darwin14 / ports /libxml2/2.9.2 ...确定使用
运行修补程序/Library/Ruby/Gems/2.0.0/gems/nokogiri-1.6.6.2/ports/patches/libxml2/0001-Revert-Missing-initialization- for-the-catalog-module.patch ...
为libxml2运行'patch'2.9.2 ... OK用
运行补丁/Library/Ruby/Gems/2.0.0/gems/nokogiri -1.6.6.2 / ports / patches / libxml2 / 0002-fix-missing-entities-after-CVE-2014-3660-fix.patch ...
为libxml2运行'patch'2.9.2 ... OK为
运行'configure'libxml2 2.9.2 ...确定为libxml2运行'compile'2.9.2 ...错误,
检查
'/Library/Ruby/Gems/2.0。 0 / gems / nokogiri-1.6.6.2 / ext / nokogiri / tmp / x86_64-apple-darwin14 / ports / libxml2 / 2.9.2 / compile.log'
来查看发生了什么。
*** extconf.rb失败***由于某种原因无法创建Makefile,可能缺少必要的库和/或头文件。检查
mkmf.log文件以获取更多详细信息。您可能需要配置
选项。

提供的配置选项:--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 = / System / Library / Frameworks / Ruby.framework / Versions / 2.0 / usr / bin / ruby​​
--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
- 启用交叉构建 - 禁用交叉构建
/Library/Ruby/Gems/2.0.0/gems/mini_portile-0.6.2/lib/mini_portile.rb:279:in
`block in execute':无法完成编译任务(RuntimeError)
from
/Library/Ruby/Gems/2.0.0/gems/mini_portile-0.6.2/lib/mini_portile.rb:271:in
`chdir'from
/ Library / Ruby / Gems / 2.0.0 / gems / mini_portile-0.6.2 / lib / mini_portile.rb:271:在
中`执行'
/Library/Ruby/Gems/2.0.0/gems/ mini_portile-0.6.2 / lib / mini_portile.rb:70:在
`compile'中从
/Library/Ruby/Gems/2.0.0/gems/mini_portile-0.6.2/lib/mini_portile。 rb:110:在
`做饭从extconf.rb:278:在block_incess_recipe中从
extconf.rb:177在tap中extconf.rb 177在process_recipe中从
extconf.rb:475: '< main>'

extconf失败,退出代码1

Gem文件将保留安装在
/Library/Ruby/Gems/2.0.0/中宝石/ nokogiri-1.6.6.2进行检查。结果
记录到
/Library/Ruby/Gems/2.0.0/extensions/universal-darwin-14/2.0.0/nokogiri-1.6.6.2/gem_make.out

我试过了:

  gem安装nokogiri  -  --use-system-libraries 

得到:

 使用'--use-system-libraries'构建本机扩展可能
需要一段时间...错误:安装nokogiri时出错:ERROR :无法
构建gem原生扩展。

/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby -r
./siteconf20150323-34882-16v74a8.rb extconf.rb --use-系统库
检查C编译器是否接受...是检查C编译器
是否接受
-Wno-error =未使用 - 命令行参数-hard-error-in-未来...否使用系统库构建nokogiri。在libxml / parser.h中检查xmlParseDoc()
...在-lxml2中不检查xmlParseDoc()... no
在-llibxml2中检查xmlParseDoc()... no
----- libxml2丢失。请找到mkmf.log来调查它是如何失败的。
-----
*** extconf.rb失败***由于某种原因无法创建Makefile,可能缺少必要的库和/或头文件。检查
mkmf.log文件以获取更多详细信息。您可能需要配置
选项。

提供的配置选项:--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 = / System / Library / Frameworks / Ruby.framework / Versions / 2.0 / usr / bin / ruby​​
--help --clean --use-system-libraries - 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-xml2-dir
--without-xml2-dir --with-xml2-include
- -without-xml2-include = $ {xml2-dir} / include --with-xml2-lib
--without-xml2-lib = $ {xml2-dir} / lib --with-libxml-2.0- config
--without-libxml-2.0-config --with-pkg-config --without-pkg-config
--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-libxslt-config
--without-libxslt-config --with-exslt-dir --without-exslt-dir
--with-exslt-include --without-exslt-include = $ {exslt-dir} / include
--with-exslt-lib --without-exslt-lib = $ {exslt-dir} / lib
--with-libexslt-config --without-libexslt-config --with-xml2lib
--without-xml2lib - with-libxml2lib --without-libxml2lib

extconf失败,退出代码1

Gem文件将保持安装在
/Library/Ruby/Gems/2.0.0中/gems/nokogiri-1.6.6.2进行检查。结果
记录到
/Library/Ruby/Gems/2.0.0/extensions/universal-darwin-14/2.0.0/nokogiri-1.6.6.2/gem_make.out

我试过了:

  port安装libxml2 

得到:

  --->计算libxml2的依赖关系
--->清理libxml2
--->扫描链接错误的二进制文件
--->没有发现破损的文件。

我还可以做些什么来安装Nokogiri?

解决方案

检查Xcode是否安装在您的机器上,然后在终端中运行 xcode-select --install 。这应该可以让你运行 sudo gem install rails


I have:

  • Mac OS X Yosemite 10.10.3
  • MacPorts (not Brew)
  • Ruby 2 in system (not RVM)

I want to install Nokogiri and tried:

port install nokogiri

and got:

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/2.0/usr/bin/ruby -r
./siteconf20150323-30174-1mqhl4i.rb extconf.rb checking if the C
compiler accepts ... yes checking if the C compiler accepts
-Wno-error=unused-command-line-argument-hard-error-in-future... no Building nokogiri using packaged libraries. checking for gzdopen() in
-lz... yes checking for iconv... yes
************************************************************************ IMPORTANT NOTICE:

Building Nokogiri with a packaged version of libxml2-2.9.2 with the
following patches applied:
    - 0001-Revert-Missing-initialization-for-the-catalog-module.patch
    - 0002-Fix-missing-entities-after-CVE-2014-3660-fix.patch

Team Nokogiri will keep on doing their best to provide security
updates in a timely manner, but if this is a concern for you and want
to use the system library instead; abort this installation process and
reinstall nokogiri as follows:

    gem install nokogiri -- --use-system-libraries
        [--with-xml2-config=/path/to/xml2-config]
        [--with-xslt-config=/path/to/xslt-config]

If you are using Bundler, tell it to use the option:

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

Note, however, that nokogiri is not fully compatible with arbitrary
versions of libxml2 provided by OS/package vendors.
************************************************************************ Extracting libxml2-2.9.2.tar.gz into
tmp/x86_64-apple-darwin14/ports/libxml2/2.9.2... OK Running patch with
/Library/Ruby/Gems/2.0.0/gems/nokogiri-1.6.6.2/ports/patches/libxml2/0001-Revert-Missing-initialization-for-the-catalog-module.patch...
Running 'patch' for libxml2 2.9.2... OK Running patch with
/Library/Ruby/Gems/2.0.0/gems/nokogiri-1.6.6.2/ports/patches/libxml2/0002-Fix-missing-entities-after-CVE-2014-3660-fix.patch...
Running 'patch' for libxml2 2.9.2... OK Running 'configure' for
libxml2 2.9.2... OK Running 'compile' for libxml2 2.9.2... ERROR,
review
'/Library/Ruby/Gems/2.0.0/gems/nokogiri-1.6.6.2/ext/nokogiri/tmp/x86_64-apple-darwin14/ports/libxml2/2.9.2/compile.log'
to see what happened.
*** 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=/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
    --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
/Library/Ruby/Gems/2.0.0/gems/mini_portile-0.6.2/lib/mini_portile.rb:279:in
`block in execute': Failed to complete compile task (RuntimeError)
    from
/Library/Ruby/Gems/2.0.0/gems/mini_portile-0.6.2/lib/mini_portile.rb:271:in
`chdir'     from
/Library/Ruby/Gems/2.0.0/gems/mini_portile-0.6.2/lib/mini_portile.rb:271:in
`execute'   from
/Library/Ruby/Gems/2.0.0/gems/mini_portile-0.6.2/lib/mini_portile.rb:70:in
`compile'   from
/Library/Ruby/Gems/2.0.0/gems/mini_portile-0.6.2/lib/mini_portile.rb:110:in
`cook'  from extconf.rb:278:in `block in process_recipe'    from
extconf.rb:177:in `tap'     from extconf.rb:177:in `process_recipe'     from
extconf.rb:475:in `<main>'

extconf failed, exit code 1

Gem files will remain installed in
/Library/Ruby/Gems/2.0.0/gems/nokogiri-1.6.6.2 for inspection. Results
logged to
/Library/Ruby/Gems/2.0.0/extensions/universal-darwin-14/2.0.0/nokogiri-1.6.6.2/gem_make.out

I tried:

gem install nokogiri -- --use-system-libraries

and got:

Building native extensions with: '--use-system-libraries' This could
take a while... ERROR:  Error installing nokogiri:  ERROR: Failed to
build gem native extension.

    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby -r
./siteconf20150323-34882-16v74a8.rb extconf.rb --use-system-libraries
checking if the C compiler accepts ... yes checking if the C compiler
accepts
-Wno-error=unused-command-line-argument-hard-error-in-future... no Building nokogiri using system libraries. 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  --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=/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
    --help  --clean     --use-system-libraries  --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-xml2-dir
    --without-xml2-dir  --with-xml2-include
    --without-xml2-include=${xml2-dir}/include  --with-xml2-lib
    --without-xml2-lib=${xml2-dir}/lib  --with-libxml-2.0-config
    --without-libxml-2.0-config     --with-pkg-config   --without-pkg-config
    --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-libxslt-config
    --without-libxslt-config    --with-exslt-dir    --without-exslt-dir
    --with-exslt-include    --without-exslt-include=${exslt-dir}/include
    --with-exslt-lib    --without-exslt-lib=${exslt-dir}/lib
    --with-libexslt-config  --without-libexslt-config   --with-xml2lib
    --without-xml2lib   --with-libxml2lib   --without-libxml2lib

extconf failed, exit code 1

Gem files will remain installed in
/Library/Ruby/Gems/2.0.0/gems/nokogiri-1.6.6.2 for inspection. Results
logged to
/Library/Ruby/Gems/2.0.0/extensions/universal-darwin-14/2.0.0/nokogiri-1.6.6.2/gem_make.out

I tried:

port install libxml2

and got:

--->  Computing dependencies for libxml2
--->  Cleaning libxml2
--->  Scanning binaries for linking errors
--->  No broken files found.

What else I can do to install Nokogiri?

解决方案

Check to see if Xcode is installed on your machine then run xcode-select --install in the terminal. This should do the trick and allow you to run sudo gem install rails

这篇关于在优胜美地10.10.3上安装Nokogiri的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆