Nokogiri与Ruby on Rails有关

我正在尝试在我的机器上安装nokogiri但是我收到以下错误:

Building native extensions. This could take a while... ERROR: Error installing nokogiri: ERROR: Failed to build gem native extension. current directory: /Users/username/.rbenv/versions/2.0.0-p481/lib/ruby/gems/2.0.0/gems/nokogiri-1.6.6.4/ext/nokogiri /Users/username/.rbenv/versions/2.0.0-p481/bin/ruby -r ./siteconf20151127-29540-11ahx4h.rb extconf.rb checking if the C compiler accepts ... *** 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/username/.rbenv/versions/2.0.0-p481/bin/ruby --help --clean /Users/username/.rbenv/versions/2.0.0-p481/lib/ruby/2.0.0/mkmf.rb:434:in `try_do': The compiler failed to generate an executable file. (RuntimeError) You have to install development tools first. from /Users/username/.rbenv/versions/2.0.0-p481/lib/ruby/2.0.0/mkmf.rb:549:in `block in try_compile' from /Users/username/.rbenv/versions/2.0.0-p481/lib/ruby/2.0.0/mkmf.rb:500:in `with_werror' from /Users/username/.rbenv/versions/2.0.0-p481/lib/ruby/2.0.0/mkmf.rb:549:in `try_compile' from extconf.rb:80:in `nokogiri_try_compile' from extconf.rb:87:in `block in add_cflags' from /Users/username/.rbenv/versions/2.0.0-p481/lib/ruby/2.0.0/mkmf.rb:599:in `with_cflags' from extconf.rb:86:in `add_cflags' from extconf.rb:337:in `' To see why this extension failed to compile, please check the mkmf.log which can be found here: /Users/username/.rbenv/versions/2.0.0-p481/lib/ruby/gems/2.0.0/extensions/x86_64-darwin-14/2.0.0-static/nokogiri-1.6.6.4/mkmf.log extconf failed, exit code 1 Gem files will remain installed in /Users/username/.rbenv/versions/2.0.0-p481/lib/ruby/gems/2.0.0/gems/nokogiri-1.6.6.4 for inspection. Results logged to /Users/username/.rbenv/versions/2.0.0-p481/lib/ruby/gems/2.0.0/extensions/x86_64-darwin-14/2.0.0-static/nokogiri-1.6.6.4/gem_make.out 

我不确定如何修复此问题,因为我没有太多设置本机扩展的经验。 任何帮助将不胜感激。 如果需要提供更多信息,请与我们联系。

这似乎是一个常见问题。 您可以查看以下链接

http://www.nokogiri.org/tutorials/installing_nokogiri.html

您需要将Rubygems更新到2.4.5或更高版本,并检查您的PC上是否安装了开发工具。

或者,如果您使用捆绑包,则可以执行以下操作

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

我不得不使用版本1.6.7.rc4-x64-mingw32(我在Windows上)。 将此行添加到我的Gemfile中:

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

结合git问题和SO的许多解决方案后,这对我有用:

 gem install nokogiri -v '1.6.7' -n /usr/local/bin -- --use-system-libraries --with-xml2-include=/usr/include/libxml2 --with-xml2-lib=/usr/lib/ 

虽然我做了predo sudo