Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.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 使用Ruby 1.9.3的Windows 8 x64上的nokogiri gem缺少libxml2_Ruby On Rails_Ruby_Windows 8_Nokogiri_Libxml2 - Fatal编程技术网

Ruby on rails 使用Ruby 1.9.3的Windows 8 x64上的nokogiri gem缺少libxml2

Ruby on rails 使用Ruby 1.9.3的Windows 8 x64上的nokogiri gem缺少libxml2,ruby-on-rails,ruby,windows-8,nokogiri,libxml2,Ruby On Rails,Ruby,Windows 8,Nokogiri,Libxml2,我在搜索类似问题时发现,Nokogiri还没有对Ruby 2.0的x64支持。然而,尽管我使用的是Windows x64机器,但我的Ruby版本是railsinstaller.org上的Ruby 1.9.3p392(2013-02-22)[i386-mingw32](使用Rails 3.2.13)。这也意味着已经安装了DevKit gem install nokogiri--pre给出以下错误: Temporarily enhancing PATH to include DevKit..

我在搜索类似问题时发现,Nokogiri还没有对Ruby 2.0的x64支持。然而,尽管我使用的是Windows x64机器,但我的Ruby版本是railsinstaller.org上的Ruby 1.9.3p392(2013-02-22)[i386-mingw32](使用Rails 3.2.13)。这也意味着已经安装了DevKit

gem install nokogiri--pre给出以下错误:

    Temporarily enhancing PATH to include DevKit...
    Building native extensions.  This could take a while...
    ERROR:  Error installing nokogiri:
    ERROR: Failed to build gem native extension.

    C:/RailsInstaller/Ruby1.9.3/bin/ruby.exe extconf.rb
    checking for libxml/parser.h... no
    -----
    libxml2 is missing.  please visit http://nokogiri.org/tutorials/installing_nokog
    iri.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=C:/RailsInstaller/Ruby1.9.3/bin/ruby
    --with-zlib-dir
    --without-zlib-dir
    --with-zlib-include
    --without-zlib-include=${zlib-dir}/include
    --with-zlib-lib
    --without-zlib-lib=${zlib-dir}/lib
    --with-iconv-dir
    --without-iconv-dir
    --with-iconv-include
    --without-iconv-include=${iconv-dir}/include
    --with-iconv-lib
    --without-iconv-lib=${iconv-dir}/lib
    --with-xml2-dir
    --without-xml2-dir
    --with-xml2-include
    --without-xml2-include=${xml2-dir}/include
    --with-xml2-lib=${xml2-dir}/lib
    Temporarily enhancing PATH to include DevKit...
    Building native extensions.  This could take a while...
    ERROR:  Error installing nokogiri:
    ERROR: Failed to build gem native extension.

    C:/RailsInstaller/Ruby1.9.3/bin/ruby.exe extconf.rb --with-xml2-lib --wi
    th-xslt-lib --platform=ruby
    *** 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=C:/RailsInstaller/Ruby1.9.3/bin/ruby
    --with-zlib-dir
    --without-zlib-dir
    --with-zlib-include
    --without-zlib-include=${zlib-dir}/include
    --with-zlib-lib
    --without-zlib-lib=${zlib-dir}/lib
    --with-iconv-dir
    --without-iconv-dir
    --with-iconv-include
    --without-iconv-include=${iconv-dir}/include
    --with-iconv-lib
    --without-iconv-lib=${iconv-dir}/lib
    --with-xml2-dir
    --without-xml2-dir
    --with-xml2-include
    --without-xml2-include=${xml2-dir}/include
    --with-xml2-lib=${xml2-dir}/lib

    C:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/mkmf.rb:1544:in `dir_config': undefin
    ed method `split' for true:TrueClass (NoMethodError)
    from extconf.rb:147:in `<main>'
虽然gem安装nokogiri--pre--with-xml2-lib--with-xslt-lib--platform=ruby会引发以下错误:

    Temporarily enhancing PATH to include DevKit...
    Building native extensions.  This could take a while...
    ERROR:  Error installing nokogiri:
    ERROR: Failed to build gem native extension.

    C:/RailsInstaller/Ruby1.9.3/bin/ruby.exe extconf.rb
    checking for libxml/parser.h... no
    -----
    libxml2 is missing.  please visit http://nokogiri.org/tutorials/installing_nokog
    iri.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=C:/RailsInstaller/Ruby1.9.3/bin/ruby
    --with-zlib-dir
    --without-zlib-dir
    --with-zlib-include
    --without-zlib-include=${zlib-dir}/include
    --with-zlib-lib
    --without-zlib-lib=${zlib-dir}/lib
    --with-iconv-dir
    --without-iconv-dir
    --with-iconv-include
    --without-iconv-include=${iconv-dir}/include
    --with-iconv-lib
    --without-iconv-lib=${iconv-dir}/lib
    --with-xml2-dir
    --without-xml2-dir
    --with-xml2-include
    --without-xml2-include=${xml2-dir}/include
    --with-xml2-lib=${xml2-dir}/lib
    Temporarily enhancing PATH to include DevKit...
    Building native extensions.  This could take a while...
    ERROR:  Error installing nokogiri:
    ERROR: Failed to build gem native extension.

    C:/RailsInstaller/Ruby1.9.3/bin/ruby.exe extconf.rb --with-xml2-lib --wi
    th-xslt-lib --platform=ruby
    *** 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=C:/RailsInstaller/Ruby1.9.3/bin/ruby
    --with-zlib-dir
    --without-zlib-dir
    --with-zlib-include
    --without-zlib-include=${zlib-dir}/include
    --with-zlib-lib
    --without-zlib-lib=${zlib-dir}/lib
    --with-iconv-dir
    --without-iconv-dir
    --with-iconv-include
    --without-iconv-include=${iconv-dir}/include
    --with-iconv-lib
    --without-iconv-lib=${iconv-dir}/lib
    --with-xml2-dir
    --without-xml2-dir
    --with-xml2-include
    --without-xml2-include=${xml2-dir}/include
    --with-xml2-lib=${xml2-dir}/lib

    C:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/mkmf.rb:1544:in `dir_config': undefin
    ed method `split' for true:TrueClass (NoMethodError)
    from extconf.rb:147:in `<main>'
我还尝试从C:\RailsInstaller\Ruby1.9.3\lib以及C:\RailsInstaller\DevKit\lib下载libxml2并将其内容放入其中,但我收到了相同的错误


tl;根据我传递的选项,似乎有两种不同的错误。parser.h错误和TrueClass“split”错误。

我也有类似的挫折感,但我只是删除了Ruby 2.0和我安装的DevKit,以保持简单

然后我:

  • 已安装1.9.3
    ()
  • DevKit(DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe)
现在一切都在运转

请务必在以下地点完成所有检查: 我自己也遇到了这个问题,看起来Nokogiri不支持64位Ruby:解决方案似乎是使用32位Ruby,或者等到他们支持64位Ruby


更新:更新以反映@magiccrafter关于64位Ruby现在应该得到支持的评论。

以下是如何安装Nokogiri for Windows 8.1 x64 with Chocolate和DevKit x64

gem安装nokogiri--with-xml2-include=C:\chocolate\lib\libxml2.2.7.8.7\build\native\include--with-xml2-lib=C:\chocolate\lib\libxml2.redist.2.7.8.7\build\native\bin\v110\x64\Release\dynamic\cdecl--with-iconv include=C:\chocolate\lib\lib\libiconv.1.14.0.11\build\native\include--iconv lib=C:\chocolate\lib\libiconv.redist.1.14.0.11\build\native\bin\v110\x64\Release\dynamic\cdecl——xslt include=C:\chocolate\lib\libxslt.1.1.28.0\build\native\native\include——xslt lib=C:\chocolate\lib\libxslt.redist.1.1.1.1.28.0\build\native\bin\v110\x64\Release\dynamic

@Steve-有一个支持x64Ruby的应用程序(这对我在Win7x64Ruby200上很有用)。在编写本文时,它处于预发布状态,请使用以下方式安装:

 gem install nokogiri --prerelease

谢谢,我也做了类似的事情。最后,我删除了所有与ruby和rails相关的内容,并从railsinstaller.org进行了新的安装。电线在某个地方交叉了,但现在似乎在工作。不再相关了。已实施支助。