2013-06-09 18 views
14

Quello che ho trovato alla ricerca di problemi simili è che Nokogiri non ha ancora il supporto a 64 bit con Rubino 2.0. Tuttavia, sebbene sia su una macchina Windows x64, la mia versione Ruby è ruby ​​1.9.3p392 (2013-02-22) [i386-mingw32] da railsinstaller.org (con Rails 3.2.13). Questo significa anche DevKit è già installato.libxml2 mancante per gemma nokogiri su Windows 8 x64 con Ruby 1.9.3

gem install nokogiri --pre dà questo errore:

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 

Mentre gem install nokogiri --pre - with-xml2-lib --with-XSLT-lib --platform = rubino genera questo errore:

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

non sono riuscito a trovare una soluzione specifica per tutto questo tramite SO/Google gruppi/blog/ecc, c'è uno?

Ecco il mio percorso:

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; 

Inoltre ho provato a scaricare libxml2 da http://linux.softpedia.com/progDownload/libxml2-Download-162.html e ponendo i contenuti all'interno di C: \ RailsInstaller \ Ruby1.9.3 \ lib così come C: \ RailsInstaller \ DevKit \ lib ma Ho ricevuto gli stessi errori.

tl; dr sembrano esserci due errori diversi a seconda delle opzioni che passo. L'errore parser.h e l'errore 'split' di TrueClass.

risposta

5

@Steve - C'è un new version of nokogiri (1.6.2) che supporta x64 Rubino (questo ha funzionato per me su Win7 x64 Rubino 200). Al momento della scrittura è in pre-release, installazione utilizzando:

gem install nokogiri --prerelease 
6

Ho avuto una frustrazione simile, ma ho rimosso Ruby 2.0 e DevKit che avevo installato per mantenere le cose semplici.

Ho poi:

E ora tutto funziona.

fare assicuratevi di andare attraverso tutti i controlli alle: https://github.com/oneclick/rubyinstaller/wiki/Development-Kit

+0

Grazie, ho fatto qualcosa di simile. Ho finito per rimuovere tutto ciò che riguarda ruby ​​e rails, e facendo una nuova installazione da railsinstaller.org. I fili sono stati incrociati da qualche parte ma sembra che stia funzionando ora. – jzig

+0

@Perhentian Una soluzione perfetta, ha funzionato come una meraviglia. Grazie mille – Harshit

4

Proprio avuto questo problema io stesso, sembra che Nokogiri non supporta 64 bit Rubino: https://github.com/sparklemotion/nokogiri/issues/864 soluzione sembra essere l'uso a 32 bit Ruby, che o aspetta finché non supportano Ruby a 64 bit.

Aggiornamento: aggiornato per riflettere il commento di @magiccrafter che ora Ruby a 64 bit deve essere supportato.

+0

Non pertinente più. Il supporto è stato implementato. – magiccrafter

6

Ecco come installare Nokogiri per Windows 8.1 x64 con Chocolatey e 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

Problemi correlati