2013-06-09 26 views
14

Tôi tìm thấy sự cố tương tự là Nokogiri chưa có hỗ trợ x64 với Ruby 2.0. Tuy nhiên, mặc dù tôi đang sử dụng máy in Windows x64 phiên bản Ruby của tôi là ruby ​​1.9.3p392 (2013-02-22) [i386-mingw32] từ railsinstaller.org (với Rails 3.2.13). Điều này cũng có nghĩa là DevKit đã được cài đặt.libxml2 mất tích đối với đá quý nokogiri trên Windows 8 x64 với Ruby 1.9.3

gem install nokogiri --pre cho lỗi này:

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 

Trong khi gem install nokogiri --pre - with-XML2-lib --with-XSLT-lib --platform = ruby ​​ tăng lỗi này:

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

tôi đã không thể tìm ra giải pháp cụ thể để những điều này qua SO nhóm/google/blog/etc, là có một?

Dưới đây là con đường của tôi:

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; 

Tôi cũng đã cố gắng tải libxml2 từ http://linux.softpedia.com/progDownload/libxml2-Download-162.html và đặt các nội dung bên trong C: \ RailsInstaller \ Ruby1.9.3 \ lib cũng như C: \ RailsInstaller \ devkit \ lib nhưng Tôi đã nhận được các lỗi tương tự.

tl; dr có vẻ như có hai lỗi khác nhau tùy thuộc vào các tùy chọn tôi vượt qua. Lỗi parser.h và lỗi 'tách' TrueClass.

Trả lời

5

@Steve - Có một new version of nokogiri (1.6.2) hỗ trợ x64 của Ruby (điều này làm việc cho tôi trên Win7 x64 của Ruby 200). Vào thời điểm viết, nó đang được phát hành trước, cài đặt bằng cách sử dụng:

gem install nokogiri --prerelease 
6

Tôi đã có một sự thất vọng tương tự, nhưng tôi đã chỉ cần loại bỏ Ruby 2.0, và DevKit mà tôi đã cài đặt để giữ cho mọi thứ đơn giản.

tôi sau đó:

Và tất cả hiện đang hoạt động.

Bạn chắc chắn rằng bạn đi qua tất cả các kiểm tra tại địa chỉ: https://github.com/oneclick/rubyinstaller/wiki/Development-Kit

+0

Cảm ơn, tôi đã làm điều tương tự. Tôi đã kết thúc chỉ cần loại bỏ tất cả mọi thứ ruby ​​và đường ray liên quan, và làm một cài đặt mới từ railsinstaller.org. Dây đã vượt qua đâu đó nhưng có vẻ như nó đang hoạt động. – jzig

+0

@Perhentian Một giải pháp hoàn hảo, hoạt động như kỳ diệu. Cảm ơn rất nhiều – Harshit

4

Chỉ có vấn đề này bản thân mình, có vẻ như Nokogiri không hỗ trợ 64 bit Ruby: https://github.com/sparklemotion/nokogiri/issues/864 giải pháp có vẻ là sử dụng 32 bit Ruby, mà hoặc đợi cho đến khi chúng hỗ trợ Ruby 64 bit.

Cập nhật: cập nhật để phản ánh nhận xét từ @magiccrafter rằng 64 bit Ruby giờ đây sẽ được hỗ trợ.

+0

Không liên quan nữa. Hỗ trợ đã được thực hiện. – magiccrafter

6

Đây là cách cài đặt Nokogiri cho Windows 8.1 x64 với Chocolatey và 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

Các vấn đề liên quan