我无法弄清楚这里出了什么问题 - 任何想法?
我在Ubuntu 8.04 LTS上运行,并从这些说明中安装了libxml2和libxslt:
http://www.techsww.com/tutorials/libraries/libxml/installation/installing_libxml_on_ubuntu_linux.php
http://www.techsww.com/tutorials/libraries/libxslt/installation/installing_libxslt_on_ubuntu_linux.php
但是,我安装了最新版本:
的libxslt-1.1.24
libxml2-2.7.3
安装很顺利
--------------------我设置LD_LIBRARY_PATH
-------------------- --------------
echo $LD_LIBRARY_PATH
的/ usr /本地/的libxslt / lib中:
-------------似乎函数存在 - 至少基于字符串的输出------------
/ usr / local / libxslt / lib $ strings * | grep ParseStylesheetDoc
xsltParseStylesheetDoc
xsltParseStylesheetDoc
xsltParseStylesheetDoc
xsltParseStylesheetDoc
xsltParseStylesheetDoc
xsltParseStylesheetDoc
xsltParseStylesheetDoc
-----------------------但编译仍然失败------------------- ---------------------
sudo gem install webrat
构建原生扩展。这可能需要一段时间......
错误:安装webrat时出错:
错误:无法构建gem原生扩展。
/ usr / local / bin / ruby extconf.rb install webrat
检查/ opt / local / include /,/ opt / local / include / libxml2,/ opt / local / include,/ opt / local / include,/ opt / local / include / libxml2,/ usr / local中的iconv.h / include,/ usr / local / include / libxml2,/ usr / local / include,/ usr / local / include / libxml2,/ usr / include,/ usr / include / libxml2 ... yes
检查/ opt / local / include /,/ opt / local / include / libxml2,/ opt / local / include,/ opt / local / include,/ opt / local / include / libxml2,/ usr中的libxml / parser.h / local / include,/ usr / local / include / libxml2,/ usr / local / include,/ usr / local / include / libxml2,/ usr / include,/ usr / include / libxml2 ... yes
检查/ opt / local / include /,/ opt / local / include / libxml2,/ opt / local / include,/ opt / local / include,/ opt / local / include / libxml2,/ usr中的libxslt / xslt.h / local / include,/ usr / local / include / libxml2,/ usr / local / include,/ usr / local / include / libxml2,/ usr / include,/ usr / include / libxml2 ... yes
检查/ opt / local / include /,/ opt / local / include / libxml2,/ opt / local / include,/ opt / local / include,/ opt / local / include / libxml2,/ usr中的libexslt / exslt.h / local / include,/ usr / local / include / libxml2,/ usr / local / include,/ usr / local / include / libxml2,/ usr / include,/ usr / include / libxml2 ... yes
在-lxml2中检查xmlParseDoc()...是的
检查-lxslt中的xsltParseStylesheetDoc()...否
libxslt丢失了。尝试'port install libxslt'或'yum install libxslt-devel'
*** extconf.rb failed ***
由于某些原因无法创建Makefile,可能缺少
必要的库和/或标题。检查mkmf.log文件以获取更多信息
细节。您可能需要配置选项。
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=/usr/local/bin/ruby
--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
--without-xml2-lib=${xml2-dir}/lib
--with-xslt-dir
--without-xslt-dir
--with-xslt-include
--without-xslt-include=${xslt-dir}/include
--with-xslt-lib
--without-xslt-lib=${xslt-dir}/lib
--with-xml2lib
--without-xml2lib
--with-xsltlib
--without-xsltlib
Gem文件将保留在/usr/local/lib/ruby/gems/1.8/gems/nokogiri-1.3.3中进行检查。
结果记录到/usr/local/lib/ruby/gems/1.8/gems/nokogiri-1.3.3/ext/nokogiri/gem_make.out
答案 0 :(得分:5)
在Ubuntu中,您需要按照以下步骤操作: sudo apt-get install libxml2-dev sudo apt-get install libxslt-dev
答案 1 :(得分:1)
apt-get
来安装rubygems,而是从源代码构建它。这对我很有用。他的帖子是针对安装rails
的,因此我使用了这些(略有修改)步骤来安装nokogiri:
首先使用APT-GET
安装RUBY:
sudo apt-get update
sudo apt-get install ruby irb ri rdoc ruby1.8-dev libzlib-ruby
libyaml-ruby libreadline-ruby libncurses-ruby libcurses-ruby libruby
libruby-extras libfcgi-ruby1.8 build-essential libopenssl-ruby
libdbm-ruby libdbi-ruby libdbd-sqlite3-ruby sqlite3 libsqlite3-dev
libsqlite3-ruby libxml-ruby libxml2-dev
除了JARED的说明我还安装了(我不确定libxslt1.1
是否必要):
sudo apt-get install libxslt1.1
sudo apt-get install libxslt1-dev
下载RUBYGEMS来源:
从rubyforge下载this post(目前为1.3.6)(我使用了zip包)。
建立RUBYGEMS:
cd /TO/DIRECTORY/WHERE/YOU/UNZIPPED/rubygems-1.3.6/
sudo ruby setup.rb
sudo ln -s /usr/bin/gem1.8 /usr/bin/gem
安装NOKOGIRI:
sudo gem update –system
sudo gem install nokogiri
回复将是:
1 gem installed
Installing ri documentation for nokogiri-1.4.1...
No definition for parse_memory
No definition for parse_file
No definition for parse_with
No definition for get_options
No definition for set_options
Installing RDoc documentation for nokogiri-1.4.1...
No definition for parse_memory
No definition for parse_file
No definition for parse_with
No definition for get_options
No definition for set_options
我还没有注意到“无定义”消息引起的任何问题...
答案 2 :(得分:0)
尝试删除libxslt *并重新安装它们。这解决了我的问题。
答案 3 :(得分:0)
您必须安装这些库的开发工具包。
答案 4 :(得分:0)
尝试安装到非标准位置时出现同样的错误(因为我无法访问主目录以外的目录)。似乎这个答案只是安装到/ usr中的默认位置才能成功。还是我误解了?
关于我在http://groups.google.com/group/nokogiri-talk/browse_thread/thread/c1e909be09e90f5a尝试做什么的更多背景信息,如果这有用的话。
答案 5 :(得分:0)
这是在Ubuntu 11.04(natty)上对我有用的东西:
sudo apt-get install libxslt-dev libxml2-dev
sudo gem install nokogiri