6

Hey I'm trying to install rails on a new ubuntu machine. I have ruby and rvm installed but I'm getting a "failed to build gem native extension" error. What does this mean?

$ sudo gem install rails -v 3.2.9

(without the sudo says I don't have permissions)

Then it outputs a lot of 'fetching' commands and ultimately this error:

    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:1:in `<main>'


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

When I type

$rails server

It says rails is not currently installed

mpapis
  • 52,729
  • 14
  • 121
  • 158
Connor Leech
  • 18,052
  • 30
  • 105
  • 150

2 Answers2

16

Possible duplicate of:

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

Depending on your ruby version, run:

sudo apt-get install ruby1.9.1-dev
Community
  • 1
  • 1
MrYoshiji
  • 54,334
  • 13
  • 124
  • 117
  • 1
    -1 explanation please? – MrYoshiji Aug 19 '13 at 16:59
  • 4
    user installed ruby with `rvm`, using `sudo` switches him out of rvm installed ruby (resets environment variables), your solution does not explain anything of that only sets user to continue the `sudo` path – mpapis Aug 19 '13 at 17:05
  • @mpapis I had this issue a long time before and fixed it with this command. Also the answer I linked (as the one that AlthafHamez linked) proves that it can solve the problem of mkmf LoadError. Where is your answer explaining how to fix this and why it does not work? – MrYoshiji Aug 19 '13 at 17:13
  • I did not down vote because I know better, I did it because it is confusing user – mpapis Aug 19 '13 at 17:22
5

If you are using RVM, you shouldn't ever be using 'sudo'. Using sudo calls libs and such out of the rvm path. Try just a flat:

gem install rails -v3.2.9

and see if that helps.

Martlark
  • 14,208
  • 13
  • 83
  • 99
Rails Guy
  • 3,836
  • 1
  • 20
  • 18