Nokogiri(Ubuntu上)的强大安装过程是什么?

我尝试在我的Ubuntu 12.04系统上安装Nokogiri,并得到一个错误,说“ libxslt is missing ”,但是安装了libxslt-devlibxml2-dev

有一个强大的安装过程? 我怎样才能检查到依赖库的链接?

我使用了RVM,并且也安装了RVM pkg。

 ERROR: Error installing nokogiri: ERROR: Failed to build gem native extension. /home/victor/.rvm/rubies/ruby-1.9.3-p125/bin/ruby extconf.rb checking for libxml/parser.h... yes checking for libxslt/xslt.h... yes checking for libexslt/exslt.h... yes checking for iconv_open() in iconv.h... yes checking for xmlParseDoc() in -lxml2... yes checking for xsltParseStylesheetDoc() in -lxslt... 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. Provided configuration options: --with-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=/home/victor/.rvm/rubies/ruby-1.9.3-p125/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 --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-libxslt-config --without-libxslt-config --with-pkg-config --without-pkg-config --with-libxml-2.0-config --without-libxml-2.0-config --with-libiconv-config --without-libiconv-config --with-xml2lib --without-xml2lib --with-xsltlib --without-xsltlib Gem files will remain installed in /home/victor/.rvm/gems/ruby-1.9.3-p125@dradis/gems/nokogiri-1.5.4 for inspection. Results logged to /home/victor/.rvm/gems/ruby-1.9.3-p125@dradis/gems/nokogiri-1.5.4/ext/nokogiri/gem_make.out enter code here 

我也遇到了与rvm相同的问题,尽管我按照文档完成了以下内容:

  • sudo apt-get install libxslt-dev libxml2-dev
  • rvm pkg libxml2rvm pkg libxslt

我能解决这个问题的唯一办法就是经过漫长的调查:

  • 卸载红宝石安装: rvm remove 1.9.3
  • ~/.rvm/usr/lib删除所有libxslt*libxml2* libs,如果之前已经完成了rvm pkg ...
  • 重新安装ruby: rvm install 1.9.3

apt-get命令之后重新安装似乎是实现这一目标的唯一方法。 另外,确保使用rvm pkg安装的库不会干涉帮助。

当一切都失败了…

如果一切都失败了,你绝对需要安装gem,那么你也可以通过应用一个简单的补丁来重建nokogiri – 假如你已经安装了所有的构建工具,并且需要安装最新且可能不稳定的代码:

  • git clone git://github.com/sparklemotion/nokogiri
  • 从这个要点获得补丁,并将其保存为x86_64.patchnokogiri文件夹中。
  • 应用补丁: patch -p1 < x86_64.patch
  • 重建: rake native gem – 这应该建立在pkg/文件夹中的宝石
  • gem install pkg/nokogiri-<version>-x86_64-linux.gem安装gem

我对红宝石很新,但是这个…

 gem install nokogiri -v '1.5.2' -- --with-xml2-lib=/usr/lib/i386-linux-gnu --with-xml2-include=/usr/include/libxml2 --with-xslt-lib=/usr/lib/i386-linux-gnu --with-xslt-include=/usr/include/libxslt 

…在Ubuntu 12.04上为我工作。 (不管怎么说,它满足了nokogiri的依赖性,让我更接近我真正想要完成的事情)。我认为这可能已经搞乱了我的RVM魔法,但nokogirl-1.5.2绝对坐在那里〜 /.rvm/ruby-1.9.3-p194/gems,所以…也许这都很好?

我在Ubuntu 13.04上遇到了这个问题。

我已经尝试了你在网上找到的所有东西。 确保Nokogiri安装页面上列出的软件包存在等。

最终做的唯一的事情就是从源代码安装libsxlt。 之后,一切工作完美。

我不得不使用gem install nokogiri – –with-iconv-dir = / usr / lib / ruby​​ / 1.9.1 / x86_64-linux

 sudo apt-get install ruby1.8-dev ruby1.8 ri1.8 rdoc1.8 irb1.8 sudo apt-get install libreadline-ruby1.8 libruby1.8 libopenssl-ruby sudo apt-get install libxslt-dev libxml2-dev