Nokogiri gem installation error with spree
nokogiri, ruby, ruby-on-rails, rubygems
Solution
So here's what solved my problem. I created a new gemset i.e
rvm gemset create nokogiri
rvm use ruby-2.0.0-p353@nokogiri
Note: I'm using rvm and ruby 2.0.0. Then I made sure I've got necessary lib installed by running
sudo apt-get install libxml2-dev libxslt-dev
The libraries happened to be already installed. Then I installed nokogiri
gem install nokogiri -v '1.6.1'
It installed successfully. And finally ran `bundle install` to get all my gems. Hope this helps anyone having the same issue.
Problem
I'm getting this error when I try to bundle install ``` Bundler::GemspecError: Could not read gem at /home/theareba/.rvm/gems/ruby-2.0.0-p353/cache/nokogiri-1.6.1.gem. It may be corrupted. An error occurred while installing nokogiri (1.6.1), and Bundler cannot continue. Make sure that `gem install nokogiri -v '1.6.1'` succeeds before bundling. ``` I've tried removing nokogiri in the cache and bundle installing again in vain. Here's my gemfile ``` source 'https://rubygems.org' gem 'rails', '4.0.0' ruby "2.0.0" gem 'spree_auth_devise', github: 'spree/spree_auth_devise', branch: '2-1-stable' gem 'spree', github: 'spree/spree', branch: '2-1-stable' gem 'bootstrap-sass', '2.3.2.0' gem 'sass-rails' gem 'uglifier' gem 'coffee-rails' gem 'jquery-rails' gem 'turbolinks' gem 'jbuilder' group :development, :test do gem 'turn', :require => false gem 'sqlite3' gem 'taps', :require => false gem 'rspec-rails' end group :production do gem 'pg', '0.15.1' gem 'rails_12factor' end ``` UPDATE Error that occurs when I run gem install nokogiri -v '1.6.0' ``` Fetching: mini_portile-0.5.2.gem (100%) Fetching: nokogiri-1.6.0.gem (100%) Building native extensions. This could take a while... ERROR: Error installing nokogiri: ERROR: Failed to build gem native extension. /usr/bin/ruby1.9.1 extconf.rb /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mkmf (LoadError) from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require' from extconf.rb:5:in `<main>' Gem files will remain installed in /var/lib/gems/1.9.1/gems/nokogiri-1.6.0 for inspection. Results logged to /var/lib/gems/1.9.1/gems/nokogiri-1.6.0/ext/nokogiri/gem_make.out ``` Note: I've installed both `libxslt1-dev` and `libxml2-dev` that are requirements in nokogiri installation. I've also tried `gem install nokogiri -v '1.6.1'` but it still fails. I've installed nokogiri -v 1.5.0 in another app so I tried it in this app and got the error that spree requires nokogiri version 1.6.0 or greater. I'm I missing something?