【问题标题】:nokogiri fails to install osxnokogiri 无法安装 osx
【发布时间】:2015-01-08 22:15:12
【问题描述】:

我看到了很多此类问题,但我的情况有点不同,所以我在做bundle install 并得到了这个:

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby -r ./siteconf20150109-25233-1jiriou.rb extconf.rb --with-iconv-dir=/usr/local/Cellar/libiconv/1.14/
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 iconv using --with-iconv-* flags... no
checking for iconv... no
-----
libiconv 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
    --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

Gem files will remain installed in /var/folders/sk/x8m9btmj1g58c906v0z3k2br0000gq/T/bundler20150109-25233-o53u4y/nokogiri-1.6.5/gems/nokogiri-1.6.5 for inspection.
Results logged to /var/folders/sk/x8m9btmj1g58c906v0z3k2br0000gq/T/bundler20150109-25233-o53u4y/nokogiri-1.6.5/extensions/universal-darwin-14/2.0.0/nokogiri-1.6.5/gem_make.out
An error occurred while installing nokogiri (1.6.5), and Bundler cannot continue.
Make sure that `gem install nokogiri -v '1.6.5'` succeeds before bundling.

我已经安装了 libiconv,我尝试以这种方式 gem install nokogiri -- --with-iconv-dir=/usr/local/Cellar/libiconv/1.14/ gem 安装正常,但是我尝试捆绑时再次遇到相同的错误,同样的情况是当我尝试执行 gem install nokogiri -v '1.6.5' 时,安装正常,我可以在 gems 列表中看到 gem,但似乎 bundler 没有看到它,我试图将它包含在我的 gem 文件中,但仍然有这个错误

【问题讨论】:

    标签: ruby-on-rails macos bundler


    【解决方案1】:

    这对我有用:http://www.nokogiri.org/tutorials/installing_nokogiri.html#using_nonstandard_libxml2___libxslt_installations

    gem install nokogiri -- \
        --use-system-libraries \
        --with-xml2-config=/usr/bin/xml2-config \
        --with-xslt-config=/usr/bin/xslt-config
    

    然后bundle update

    【讨论】:

      【解决方案2】:

      您可以使用bundle config 设置该路径:

      bundle config build.nokogiri "--with-iconv-dir=/usr/local/Cellar/libiconv/1.14/"
      bundle install
      

      【讨论】:

      • 将此与 cbertelegni 的响应相结合,它奏效了!
      【解决方案3】:

      这对我有用bundle config build.nokogiri "--use-system-libraries --with-xml2-include=/usr/local/opt/libxml2/include/libxml2"

      运行此命令设置bundle install之前的配置

      我从https://github.com/sparklemotion/nokogiri/issues/1099得到了这个解决方案

      【讨论】:

        【解决方案4】:

        感谢 Gergo 和 cbertelegni,这对我有用:

        bundle config build.nokogiri "-- \
            --use-system-libraries \
            --with-xml2-config=/usr/bin/xml2-config \
            --with-xslt-config=/usr/bin/xslt-config"
        bundle install
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-02-14
          • 2016-02-03
          • 1970-01-01
          • 2014-07-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-06-04
          相关资源
          最近更新 更多