Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Nokogiri与Ruby on Rails的问题_Ruby On Rails_Ruby_Nokogiri - Fatal编程技术网

Ruby on rails Nokogiri与Ruby on Rails的问题

Ruby on rails Nokogiri与Ruby on Rails的问题,ruby-on-rails,ruby,nokogiri,Ruby On Rails,Ruby,Nokogiri,我试图在我的机器上安装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/

我试图在我的机器上安装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 `<main>'

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
构建本机扩展。这可能需要一段时间。。。
错误:安装nokogiri时出错:
错误:无法生成gem本机扩展。
当前目录:/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.rbextconf.rb
正在检查C编译器是否接受…***extconf.rb失败***
由于某些原因无法创建Makefile,可能缺少必要的
库和/或标题。有关详细信息,请查看mkmf.log文件。你可以
需要配置选项。
提供的配置选项:
--使用opt dir
--不带opt dir
--选择包含
--不带opt include=${opt dir}/include
--使用opt lib
--不带opt lib=${opt dir}/lib
--用make prog
--没有make prog
--srcdir=。
--库尔迪尔
--ruby=/Users/username/.rbenv/versions/2.0.0-p481/bin/ruby
--帮助
--干净的
/Users/username/.rbenv/versions/2.0.0-p481/lib/ruby/2.0.0/mkmf.rb:434:在“try_do”中:编译器未能生成可执行文件。(运行时错误)
您必须首先安装开发工具。
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'
来自extconf.rb:80:in'nokogiri_try_compile'
来自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'
来自extconf.rb:86:in`add_cflags'
来自extconf.rb:337:in`'
要了解此扩展未能编译的原因,请检查mkmf.log,该日志可在此处找到:
/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失败,退出代码1
Gem文件仍将安装在/Users/username/.rbenv/versions/2.0.0-p481/lib/ruby/gems/2.0.0/gems/nokogiri-1.6.6.4中以供检查。
结果记录到/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

我不确定如何着手解决这个问题,因为我在设置本机扩展方面没有太多经验。任何帮助都将不胜感激。如果需要提供更多信息,请告诉我

这似乎是一个普遍的问题。您可以查看以下链接

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

或者,如果您正在使用bundle,则可以执行以下操作

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上)。将此行添加到我的文件:

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

在结合了git等问题的许多解决方案之后,这对我来说很有效:

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/

虽然我预先编写了
sudo

,但错误日志表明您必须安装开发工具。通过运行
xcode选择--install
,尝试安装它们-希望对您有所帮助。我尝试了这个方法,所有工具都已安装。它的响应如下:
xcode选择:错误:命令行工具已安装,请使用“软件更新”安装更新。所以我运行了一个软件更新,重新启动并尝试安装nokogiri。仍然收到完全相同的错误消息。您接受许可协议了吗?尝试
sudoxcodebuild-license
或直接打开xcodebuild您是否从devkit目录执行了
dk.rb
?至少在Windows上,这是一个必需的步骤…安装gems时不要使用
sudo
。这导致它修改了苹果安装的Ruby。相反,使用RVM或rbenv来管理一个新的Ruby,然后您可以根据自己的心意对其进行修改。我现在已经安装了RVM,我所有的OSXRuby问题都解决了。