2013-06-09 3 views
14

Что я нашел в поисках подобных проблем было то, что Nokogiri еще не имеет поддержки x64 с рубинового 2,0. Однако, хотя я нахожусь на машине Windows x64, моя рубиновая версия: ruby ​​1.9.3p392 (2013-02-22) [i386-mingw32] из railsinstaller.org (с Rails 3.2.13). Это также означает, что DevKit уже установлен.libxml2 отсутствует для nokogiri жемчужину на Windows 8 x64 с Руби 1.9.3

камень установить nokogiri --Система дает эту ошибку:

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 

Хотя камень установить nokogiri --Система - --with-xml2 Пб --with-XSLT Пб --platform = рубин вызывает эту ошибку:

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>' 

Мне не удалось найти конкретное решение какой-либо из этого через SO/Google групп/блогов/и т.д., есть один?

Вот мой путь:

PATH=C:\RailsInstaller\Git\cmd;C:\RailsInstaller\Ruby1.9.3\bin;C:\windows;C:\win 
    dows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\Program Files(
    x86)\Git\cmd;C:\Program Files\nodejs\;C:\cygwin\bin;C:\mingw64\x86_64-w64-mingw3 
    2\bin;C:\mingw64\bin;C:\Program Files (x86)\Heroku\bin;C:\Program Files (x86)\gi 
    t\cmd;C:\Users\Joshua\AppData\Roaming\npm;C:\mingw64\x86_64-w64-mingw32\bin;C:\P 
    rogram Files\PostgreSQL\9.2\bin; 

Я также попытался загрузки libxml2 из http://linux.softpedia.com/progDownload/libxml2-Download-162.html и размещения содержимого в C: \ RailsInstaller \ Ruby1.9.3 \ Lib, а также C: \ RailsInstaller \ DevKit \ Lib, но Я получил те же ошибки.

tl; dr, похоже, две разные ошибки в зависимости от параметров, которые я передаю. Ошибка parser.h и ошибка «split» TrueClass.

ответ

5

@Steve - Существует new version of nokogiri (1.6.2), который поддерживает 64-разрядную рубин (это работает для меня на Win7 x64 Ruby, 200). На момент написания он находится в предварительном выпуске, установите с помощью:

gem install nokogiri --prerelease 
6

У меня было такое же разочарование, но я просто удалил Ruby 2.0 и DevKit, которые я установил, чтобы все было просто.

Я тогда:

И все теперь работает.

ли убедитесь, что вы идете через все проверки на: https://github.com/oneclick/rubyinstaller/wiki/Development-Kit

+0

Спасибо, я сделал что-то подобное. Я закончил тем, что просто удалил все рубины и рельсы, и сделал новую установку с railsinstaller.org. Проводы пересекались где-то, но, похоже, сейчас работают. – jzig

+0

@Perhentian Идеальное решение, работало как чудо. Большое спасибо – Harshit

4

Просто был эта проблема сам, похоже, Nokogiri не поддерживает 64 битный рубин: https://github.com/sparklemotion/nokogiri/issues/864 решения представляется использование 32 бит рубин, что или подождите, пока они не поддерживают 64-битный Ruby.

Обновление: обновлено, чтобы отразить комментарий от @magiccrafter, который теперь должен поддерживаться 64-битным Ruby.

+0

Больше не имеет значения. Была реализована поддержка. – magiccrafter

6

Вот как установить Nokogiri для Windows 8.1 x64 с Chocolatey и DevKit x64.

https://stackoverflow.com/a/22210252/148844

cinst libxml2 
cinst libxslt 
cinst libiconv 

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

Смежные вопросы