2015-11-30 53 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。

相關問題