Как установить ruby ​​gem libxml без «ошибки extconf: нужно libxml2» - PullRequest
5 голосов
/ 14 сентября 2011

В настоящее время я пытаюсь установить рубиновый гем, который завершается неудачно, так как extconf говорит, что ему нужен libxml, поэтому, когда я следую этим инструкциям по установке libxml (который включает эти инструкции дляустановка ruby ​​dev kit) Я получаю следующий вывод:

$ gem install libxml-ruby --platform x86-mswin32-60
Temporarily enhancing PATH to include DevKit...
Building native extensions.  This could take a while...
ERROR:  Error installing libxml-ruby:
    ERROR: Failed to build gem native extension.

    c:/Ruby/bin/ruby.exe extconf.rb
checking for socket() in -lsocket... no
checking for gethostbyname() in -lnsl... no
checking for atan() in -lm... yes
checking for inflate() in -lz... no
checking for inflate() in -lzlib... no
checking for inflate() in -lzlib1... yes
checking for iconv_open() in -liconv... no
checking for libiconv_open() in -liconv... yes
checking for xmlParseDoc() in -lxml2... no
checking for xmlParseDoc() in -llibxml2... no
checking for xmlParseDoc() in -lxml2... no
*** 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
--8<--
    --with-xml2lib
    --without-xml2lib
 extconf failure: need libxml2.

Install the library or try one of the following options to extconf.rb:

  --with-xml2-config=/path/to/xml2-config
  --with-xml2-dir=/path/to/libxml2
  --with-xml2-lib=/path/to/libxml2/lib
  --with-xml2-include=/path/to/libxml2/include

Gem files will remain installed in c:/Ruby/lib/ruby/gems/1.9.1/gems/libxml-ruby-2.2.2 for inspection.
Results logged to c:/Ruby/lib/ruby/gems/1.9.1/gems/libxml-ruby-2.2.2/ext/libxml/gem_make.out

Я нахожусь на установке Windows 7 x64, используя для установки мой minGW32-shell / git.Установка завершается неудачно с тем же сообщением из командной строки Windows ru-Enhanced.

fwiw:

$ ruby -v
ruby 1.9.2p290 (2011-07-09) [i386-mingw32]

$ git --version
git version 1.7.6.msysgit.0

$ gem -v
1.8.10

Ответы [ 3 ]

1 голос
/ 04 января 2013

Вы должны попробовать камень nokogiri вместо использования libxml-ruby.Он включает в себя предварительно скомпилированные библиотеки libxml2 как часть установки, поэтому вам не нужно беспокоиться о его сборке самостоятельно.

API-интерфейс Nokogiri отличается от API libxml-ruby, но я уверен, что вы найдетета же функциональность.

Если libxml-ruby является зависимостью для другого гема или приложения, вы, вероятно, не сможете использовать nokogiri.Что ты пытаешься сделать?

1 голос
/ 07 января 2013

У меня было это как комментарий, но меня попросили опубликовать его как ответ для наглядности:

Ответ на этот вопрос решил мою проблему: libxml-ruby не удалось загрузить на x86_64

0 голосов
/ 12 октября 2012

Попробуй запустить

yum install -y gcc ruby-devel libxml2 libxml2-devel libxslt libxslt-devel

Чем оно должно работать

...