2015-11-30 56 views
33

我尝试克隆this repo并运行bundle install。束进程失败,并抛出这个错误:安装nokogiri时出错:无法构建gem原生扩展名和libiconv丢失(OSX)

... 
    Installing nokogiri 1.6.2.1 with native extensions 
    Building nokogiri using packaged libraries. 

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

     /Users/zulhilmizainudin/.rvm/rubies/ruby-2.2.0/bin/ruby -r ./siteconf20151130-43880-pntnc6.rb 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 
     --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=/Users/zulhilmizainudin/.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 

    extconf failed, exit code 1 

    Gem files will remain installed in /Users/zulhilmizainudin/.rvm/gems/ruby-2.2.0/gems/nokogiri-1.6.2.1 for inspection. 
    Results logged to /Users/zulhilmizainudin/.rvm/gems/ruby-2.2.0/extensions/x86_64-darwin-14/2.2.0-static/nokogiri-1.6.2.1/gem_make.out 
    An error occurred while installing nokogiri (1.6.2.1), and Bundler cannot continue. 
    Make sure that `gem install nokogiri -v '1.6.2.1'` succeeds before bundling. 

然后我尝试运行此:

gem install nokogiri -v '1.6.2.1' 

现在我得到这个错误:

Building native extensions. This could take a while... 
Building nokogiri using packaged libraries. 
ERROR: Error installing nokogiri: 
    ERROR: Failed to build gem native extension. 

    /Users/zulhilmizainudin/.rvm/rubies/ruby-2.2.0/bin/ruby -r ./siteconf20151130-43942-1axq4sj.rb 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 
    --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=/Users/zulhilmizainudin/.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 

extconf failed, exit code 1 

Gem files will remain installed in /Users/zulhilmizainudin/.rvm/gems/ruby-2.2.0/gems/nokogiri-1.6.2.1 for inspection. 
Results logged to /Users/zulhilmizainudin/.rvm/gems/ruby-2.2.0/extensions/x86_64-darwin-14/2.2.0-static/nokogiri-1.6.2.1/gem_make.out 

我试图按照this answer但我仍然得到上述相同的错误。

我也尝试卸载并再次安装我的brew(based on this answer),它仍然是一样的。

另外,我尝试this solution但仍然得到错误。

现在我该怎么做才能确保这个nokogiri gem安装成功?

注意:我使用的是OSX 10.11.1 El Capitan。

+1

你已经安装了'xcode'吗?命令'xcode-select --install'的输出是什么?你还需要检查[nokogiri OSX安装说明](http://www.nokogiri.org/tutorials/installing_nokogiri.html#mac_os_x)? –

+0

是的,我已经安装xcode并运行'xcode-select --install'。 xcode开发人员工具已成功安装。 –

+1

是什么让大家知道xcode涉及的错误? –

回答

2

看起来像这是由于nokogiri 1.6.2.1具体问题。

我添加此我的Gemfile里:

gem 'nokogiri', '~> 1.6', '>= 1.6.7' 

和运行bundle update nokogiri然后bundle。现在一切正常工作。

0

删除rbenv gem文件夹中的nokogiri并重新安装解决它给我。

12

我有一个类似的问题1.6.7.2bundle install代码与红宝石2.3。

什么工作对我来说是增加:

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

bundle install

+0

这是在更永久的解决方案中解决问题的最佳方法。 gem install nokogiri -v 1.6.6.2 - --use-system-libraries – Brandt

101

运行这些命令:

gem uninstall nokogiri 
xcode-select --install 
gem install nokogiri 

来源:http://www.nokogiri.org/tutorials/installing_nokogiri.html#mac_os_x

有时Mac更新可以打破的Xcode CLI因此重新安装可以解决这个问题: https://github.com/sparklemotion/nokogiri/issues/1445

+0

好吧,它为我工作。 –

+1

相关答案:http://stackoverflow.com/questions/19643153/error-to-install-nokogiri-on-osx-10-9-maverick – zimkies

+0

工程就像一个梦。谢谢! – dokun1

9

我没有在其他的答案一切,但必须做一件事:

  1. 开放的Xcode
  2. 点击 “同意”
  3. 等一等,靠近Xcode中
  4. 飘柔
20

什么工作对我来说(对MacOS的塞拉利昂)是的Sam's answer组合及以下:

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

这就是诀窍!谢谢 – AnApprentice

+1

这工作对我来说,试图安装nokogiri -v 1.8.0 – margo

+0

我用同样的东西来安装导轨,它的工作!谢谢。 –

0

我有类似的问题。原因是过时xcode

如果您运行brew doctor,您可能会看到它。只需打开AppStore,进入updates选项卡并更新您的xcode。

相关问题