我在Linux操作系统上使用Rails 3.2.1和ruby 1.8.7。我正试图在WHM服务器上安装Nokogiri的授权网宝石。我得到以下错误:
gem install nokogiri -v '1.5.0'
Building native extensions. This could take a while...
ERROR: Error installing nokogiri:
ERROR: Failed to build gem native extension.
/usr/bin/ruby extconf.rb
checking for libxml/parser.h... yes
checking for libxslt/xslt.h... no
-----
libxslt is missing. please visit http://nokogiri.org/tutorials/installing_nokogiri.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.
mkmf.log文件指出libxslt缺失。
尝试安装libxslt-ruby时,我得到以下错误:
Building native extensions. This could take a while...
ERROR: Error installing libxslt-ruby:
ERROR: Failed to build gem native extension.
/usr/bin/ruby extconf.rb
checking for ruby/io.h... no
checking for inflate() in -lz... yes
checking for iconv_open() in -liconv... no
checking for libiconv_open() in -liconv... no
checking for libiconv_open() in -llibiconv... no
checking for iconv_open() in -llibiconv... no
checking for iconv_open() in -lc... yes
checking for xmlXPtrNewRange() in -lxml2... yes
checking for libxml/xmlversion.h... no
checking for libxml/xmlversion.h in /opt/include/libxml2,/usr/local/include/libxml2,/usr/include/libxml2... yes
checking for xsltApplyStylesheet() in -lxslt... no
checking for xsltApplyStylesheet() in -llibxslt... no
checking for xsltApplyStylesheet() in -lxslt... 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.
mkmf.log文件说明:
have_header: checking for ruby/io.h... -------------------- no
"gcc -E -I. -I/usr/lib/ruby/1.8/x86_64-linux -I. -I/usr/local/include -O2 -g -m64 -mtune=generic -Wall -fno-strict-aliasing -fPIC conftest.c -o conftest.i"
conftest.c:1:21: error: ruby/io.h: No such file or directory
checked program was:
/* begin */
1: #include <ruby/io.h>
/* end */
我在Windows机器上开发,但客户端的服务器是Linux。我试着用谷歌搜索,但没有运气。
任何帮助将非常感激!
提前感谢!
我认为"libxslt缺失"并不意味着你必须安装gem libxslt-ruby。它告诉你安装package libxslt-dev.
只要跟随http://nokogiri.org/tutorials/installing_nokogiri.html并运行:
sudo apt-get install libxslt-dev libxml2-dev
sudo gem install nokogiri