0

I am trying to install Ruby on Rails on my local machine for development purposes, but I have hit upon an error. I can't quite tell, but it seems like it might be a gem error. Though, this is my first time trying to use all three, Ruby, Gem and Rails, so I'm not sure.

Running the command "sudo gem install rails -V" these are the last few lines printed after the error is hit:

Building native extensions.  This could take a while...
ERROR:  Error installing rails:
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:13:in `<main>'


Gem files will remain installed in /var/lib/gems/1.9.1/gems/atomic-1.1.14 for inspection.
Results logged to /var/lib/gems/1.9.1/gems/atomic-1.1.14/ext/gem_make.out

The version of Ruby installed is:

ruby 1.9.3p194 (2012-04-20 revision 35410) [i686-linux]

The version of gem is:

1.8.23
Luke
  • 2,434
  • 9
  • 39
  • 64

3 Answers3

2

Install the gem as a normal user, not sudo:

gem install rails

Or install the ruby dev package. There are a lot of similar answers in SO:

Failed to build gem native extension — Rails install

Unable to install gem - Failed to build gem native extension - cannot load such file -- mkmf (LoadError)

Failed to build gem native extension (mkmf (LoadError)) - Ubuntu 12.04

Community
  • 1
  • 1
cortex
  • 5,036
  • 3
  • 31
  • 41
1

From the atomic gem README.

As of 1.1.0, JDK8 is required to build the atomic gem, since it attempts to use the new atomic

Please install Java, then re-run the gem install process.

rhodee
  • 1,257
  • 1
  • 14
  • 27
1

What Linux do you have?

On Mint, i did:

sudo apt-get install git
sudo apt-get install curl
curl -L https://get.rvm.io | bash -s stable --ruby
sudo apt-get install git-core
source ~/.rvm/scripts/rvm
bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)
rvm autolibs enable
rvm reload
rvm requirements
sudo apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion
rvm install ruby-2.0
curl -L https://get.rvm.io | bash -s stable --rails

and it works fine. This will (currently) install Ruby 2.0 and rails 4.0 however.

ksu
  • 608
  • 4
  • 11
  • Thanks, I am on Xubuntu, but it seems I was just missing the ruby dev package. Installing that seems to have sorted things. – Luke Nov 17 '13 at 08:28