【问题标题】:Install Nokogiri on Yosemite [duplicate]在优胜美地安装 Nokogiri [重复]
【发布时间】:2014-07-29 03:08:40
【问题描述】:

我正在尝试通过 RVM 在 Yosemite 上安装 Ruby on Rails。但是,当我尝试运行“捆绑安装”时,似乎一切正常,但出现了与 Nokogiri 相关的错误:

pauls-air:~ paulmcguane$ gem install nokogiri -- --with-xml2-include=/usr/local/Cellar/libxml2/2.9.1/include/libxml2 --with-xml2-lib=/usr/local/Cellar/libxml2/2.9.1/lib --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.28 --with-iconv-include=/usr/local/Cellar/libiconv/1.13.1/include --with-iconv-lib=/usr/local/Cellar/libiconv/1.13.1/lib
Building native extensions with: '--with-xml2-include=/usr/local/Cellar/libxml2/2.9.1/include/libxml2 --with-xml2-lib=/usr/local/Cellar/libxml2/2.9.1/lib --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.28 --with-iconv-include=/usr/local/Cellar/libiconv/1.13.1/include --with-iconv-lib=/usr/local/Cellar/libiconv/1.13.1/lib'
This could take a while...
Building nokogiri using packaged libraries.
ERROR:  Error installing nokogiri:
    ERROR: Failed to build gem native extension.

错误信息是:

/Users/paulmcguane/.rvm/rubies/ruby-2.1.2/bin/ruby extconf.rb
Building nokogiri using packaged libraries.
-----
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
        --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/paulmcguane/.rvm/rubies/ruby-2.1.2/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

extconf failed, exit code 1

【问题讨论】:

  • 您可能应该让 nokogiri 使用其捆绑版本的 lib xml,而不是强制使用您已安装的版本(尽管看起来它可能会这样做)此外应该在带有精确编译错误的日志文件的错误消息。
  • 尚未在优胜美地上安装。但我会从新的 gemset 重新开始,并确保 Nokogiri 在 rails(或任何其他 gem)之前列出。这可以确保 Nokogiri 使用其嵌入式 libxml2(这可以防止您遇到第一个孩子的问题)。另见github.com/sparklemotion/nokogiri/issues/…github.com/sparklemotion/nokogiri/issues/829
  • 你可以试试这个答案:stackoverflow.com/questions/24091869/…

标签: ruby-on-rails nokogiri homebrew osx-yosemite


【解决方案1】:

我刚刚完成了 Rails 和 Ruby 以及您需要的一切的完整安装。我遵循了这些步骤。

https://gorails.com/setup/osx/10.10-yosemite

并使用以下命令安装 nokogiri

xcode-select --install
gem install nokogiri
bundle config build.nokogiri --use-system-libraries
bundle install

【讨论】:

  • 美丽。只需要第一行xcode-select --install,然后我就能毫无问题地bundle install
【解决方案2】:

我使用 macports 而不是自制软件来实现这一点。我的配置:

  1. 安装最新的 Xcode Beta(撰写本文时为 Beta 3)。
  2. xcode-select --switch /Applications/Xcode-Beta3
  3. macports 从源代码构建/安装,根据安装说明here
  4. sudo port install libxml2 libxslt
  5. gem install nokogiri -- --with-iconv-include=/opt/local/include/

有点复杂,但之后一切正常。

【讨论】:

    猜你喜欢
    • 2015-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-21
    • 1970-01-01
    • 1970-01-01
    • 2015-06-02
    • 1970-01-01
    相关资源
    最近更新 更多