Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Error installing Nokogiri 1.5.0 with rails 3.1.0 and ubuntu

Here is the error running bundle install vendor/gems on server:

Installing nokogiri (1.5.0) with native extensions Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.          /home/dtt/.rvm/rubies/ruby-1.9.2-p290/bin/ruby extconf.rb checking for libxml/parser.h... no ----- libxml2 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         --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=/home/dtt/.rvm/rubies/ruby-1.9.2-p290/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   Gem files will remain installed in /vol/www/emclab/releases/20111104001151/vendor/gems/ruby/1.9.1/gems/nokogiri-1.5.0 for inspection. Results logged to /vol/www/emclab/releases/20111104001151/vendor/gems/ruby/1.9.1/gems/nokogiri-1.5.0/ext/nokogiri/gem_make.out An error occured while installing nokogiri (1.5.0), and Bundler cannot continue. Make sure that `gem install nokogiri -v '1.5.0'` succeeds before bundling. 

You can skip this part. The error message is pretty much self explanatory, but the website requires a few more words explaining the code.

Any thoughts?

like image 344
user938363 Avatar asked Nov 04 '11 00:11

user938363


People also ask

Can t install nokogiri?

Solution. Uninstall all versions of Nokogiri on your system, and then re-resolve your dependencies (using bundle or gem install ). This error can occur when a version of Nokogiri installed for a different version of Ruby is used by an unsupported version of Ruby.

What does Rails use Nokogiri for?

Nokogiri (鋸) makes it easy and painless to work with XML and HTML from Ruby. It provides a sensible, easy-to-understand API for reading, writing, modifying, and querying documents. It is fast and standards-compliant by relying on native parsers like libxml2 (CRuby) and xerces (JRuby).

Is Nokogiri a ruby gem?

Nokogiri (htpp://nokogiri.org/) is the most popular open source Ruby gem for HTML and XML parsing. It parses HTML and XML documents into node sets and allows for searching with CSS3 and XPath selectors.

What is GEM Nokogiri?

The Nokogiri gem is an incredible open-source tool that parses HTML and XML data. It is one of the most widely used gems available, and it can really take your Ruby app to another level for data with its ability to help you intuitively scrape websites.


2 Answers

You need to have all the necessary libraries installed on your machine. When you installed RVM , it should have listed this for you. On the current version of rvm, you can run rvm requirements to see the exact list. Right now, that list is:

sudo apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion

like image 68
Dylan Markow Avatar answered Sep 19 '22 21:09

Dylan Markow


You are missing some packages. Try running this (Linux only):

$ sudo apt-get install libxslt-dev libxml2-dev 
like image 26
jimnah Avatar answered Sep 22 '22 21:09

jimnah