Failed While Installing Nokogiri on Ubuntu - ruby

I am trying to install nokogiri on Ubuntu Linux. I am running Ruby-2.1.1. I have installed.
Output:
sudo gem install nokogiri
Building native extensions. This could take a while...
ERROR: Error installing nokogiri:
ERROR: Failed to build gem native extension.
current directory: /var/lib/gems/2.5.0/gems/nokogiri-1.8.5/ext/nokogiri
/usr/bin/ruby2.5 -r ./siteconf20181205-6502-3n3u4g.rb extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h
extconf failed, exit code 1
Gem files will remain installed in /var/lib/gems/2.5.0/gems/nokogiri-1.8.5 for inspection.
Results logged to /var/lib/gems/2.5.0/extensions/x86_64-linux/2.5.0/nokogiri-1.8.5/gem_make.out
Can anyone explain what I am missing?

Try installing Ruby 2.1.1 with rbenv and set it as default version in ubuntu:
rbenv install 2.1.1
rbenv global 2.1.1
After installing ruby, install the following packages:
sudo apt-get install libxslt-dev libxml2-dev zlib1g-dev
And then install nokogiri:
sudo gem install nokogiri
This should do the trick...

Related

How to fix this error and proceed sudo gem install compass

I am trying to install compass to be able to use it in sass, I have such a bug
I have updated the ruby and gems to the latest version
$ rvm current
ruby-2.7.2
$ ruby -v
ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [i386-linux-gnu]
gem -v
3.1.3
sudo gem install compass
Building native extensions. This could take a while...
ERROR: Error installing compass:
ERROR: Failed to build gem native extension.
current directory: /var/lib/gems/2.7.0/gems/ffi-1.14.2/ext/ffi_c
/usr/bin/ruby2.7 -I /usr/local/lib/site_ruby/2.7.0 -r ./siteconf20201222-2810-1d9fxe6.rb extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h
You might have to install separate package for the ruby development
environment, ruby-dev or ruby-devel for example.
extconf failed, exit code 1
Gem files will remain installed in /var/lib/gems/2.7.0/gems/ffi-1.14.2 for inspection.
Results logged to /var/lib/gems/2.7.0/extensions/x86-linux/2.7.0/ffi-1.14.2/gem_make.out
edit:
content of file: /var/lib/gems/2.7.0/extensions/x86-linux/2.7.0/ffi-1.14.2/gem_make.out
current directory: /var/lib/gems/2.7.0/gems/ffi-1.14.2/ext/ffi_c
/usr/bin/ruby2.7 -I /usr/local/lib/site_ruby/2.7.0 -r ./siteconf20201222-2810-1d9fxe6.rb extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h
You might have to install separate package for the ruby development
environment, ruby-dev or ruby-devel for example.
extconf failed, exit code 1
I solved the problem by updating ruby ​​to the latest version. Thanks everyone for your help! :) Cheers!
sudo apt install ruby-full

Unable to install Ruby gem selenium-webdriver on Ubuntu 19.04

I'm trying to install the gem selenium-webdriver on Ubuntu 19.04 but I keep getting this error:
sudo gem install selenium-webdriver
Building native extensions. This
could take a while... ERROR: Error installing selenium-webdriver:
ERROR: Failed to build gem native extension.
current directory: /var/lib/gems/2.5.0/gems/childprocess-1.0.1/ext /usr/bin/ruby2.5 mkrf_conf.rb
current directory: /var/lib/gems/2.5.0/gems/childprocess-1.0.1/ext
/usr/bin/ruby2.5 -rrubygems
/usr/share/rubygems-integration/all/gems/rake-12.3.1/exe/rake
RUBYARCHDIR\=/var/lib/gems/2.5.0/extensions/x86_64-linux/2.5.0/childprocess-1.0.1
RUBYLIBDIR\=/var/lib/gems/2.5.0/extensions/x86_64-linux/2.5.0/childprocess-1.0.1
/usr/bin/ruby2.5: No such file or directory --
/usr/share/rubygems-integration/all/gems/rake-12.3.1/exe/rake
(LoadError)
rake failed, exit code 1
Gem files will remain installed in
/var/lib/gems/2.5.0/gems/childprocess-1.0.1 for inspection. Results
logged to
/var/lib/gems/2.5.0/extensions/x86_64-linux/2.5.0/childprocess-1.0.1/gem_make.out
I have tried
sudo gem update --system
sudo apt install ruby-dev
sudo apt install build-essential
sudo apt install gcc
sudo apt install make
ruby -v ruby 2.5.5p157 (2019-03-15 revision 67260) [x86_64-linux-gnu]
gem -v 3.0.3
I had to do this
sudo gem pristine rake
Restoring gems to pristine condition... Cached gem for rake-12.3.1 not
found, attempting to fetch... Fetching rake-12.3.1.gem Restored
rake-12.3.1

Sass installation error

I use Linux Mint and I want to install sass. I have installed ruby by "sudo apt install ruby" , version 2.3 and then , when I wan to install sass by "sudo gem install sass --no-user-install" , I have the following error:
Building native extensions. This could take a while...
ERROR: Error installing sass:
ERROR: Failed to build gem native extension.
current directory: /var/lib/gems/2.3.0/gems/ffi-1.9.18/ext/ffi_c
/usr/bin/ruby2.3 -r ./siteconf20171114-19329-157auxp.rb extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h
extconf failed, exit code 1
Gem files will remain installed in /var/lib/gems/2.3.0/gems/ffi-1.9.18 for inspection.
Results logged to /var/lib/gems/2.3.0/extensions/x86_64-linux/2.3.0/ffi-1.9.18/gem_make.out
Install this package:
sudo apt install ruby-dev
The ruby-dev package contains the missing headers. You can see that the installer is looking for the headers:
/usr/lib/ruby/include/ruby.h
Installing this package will install those headers. This is a common issue that comes up for new Ruby users when installing gems with native extensions. You may find that you have to install several packages to get the installation to complete. If you see similar errors when installing this gem or other gems, try searching for "gemname native extension prerequisites", like "sass gem native extension prerequisites", to learn which packages should be installed before installing the gem.
Try this:
sudo apt install ruby-full rubygems autogen autoconf libtool make
sudo gem install sass
I had the same issue on Ubuntu 18.04, ruby-dev itself didn't help, installing g++ and make, as stated here solved my issue.

There are some errors for install yajl-ruby

When i run:
sudo gem install yajl-ruby
I see errors:
Building native extensions. This could take a while...
ERROR: Error installing yajl-ruby:
ERROR: Failed to build gem native extension.
/usr/bin/ruby extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/ruby.h
Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/yajl-ruby-1.2.1 for inspection.
Results logged to /usr/lib/ruby/gems/1.8/gems/yajl-ruby-1.2.1/ext/yajl/gem_make.out
I have installed yum install ruby rubygems ruby-devel, but still have this problem.
Try:
$ sudo ln -s /usr/bin/llvm-gcc /usr/bin/gcc-4.2
$ sudo gem install yajl-ruby

installing Sqlite3-ruby error

When I tried to install: gem install sqlite3-ruby it shows:
Building native extensions. This could take a while...
ERROR: Error installing sqlite3-ruby:
ERROR: Failed to build gem native extension.
/usr/bin/ruby1.8 extconf.rb
extconf.rb:3:in `require': no such file to load -- mkmf (LoadError)
from extconf.rb:3
Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.3.1 for inspection.
Results logged to /usr/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.3.1/ext/sqlite3/gem_make.out
My environment:
sqlite: 2.8.17
rails: 3.0.0
ruby: 1.9.2
ubuntu: 10.04
gem: 1.3.7
I have looking all similiar question in webs and SO, nothing help, what should I do? :(
I had this same problem. I solved it by
sudo apt-get install sqlite3 libsqlite3-dev
Then the following command worked.
sudo gem install sqlite3-ruby

Resources