Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Ruby bundle install error with json-1.7.3

I am getting following error while installing ruby gems. I am using Ubuntu

Installing json (1.7.3) with native extensions
Gem::Installer::ExtensionBuildError: 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.7.3 for inspection.
Results logged to /var/lib/gems/1.9.1/gems/json-1.7.3/ext/json/ext/parser/gem_make.out
An error occured while installing json (1.7.3), and Bundler cannot continue.
Make sure that `gem install json -v '1.7.3'` succeeds before bundling.

I just saw this link, and not sure what to do with devkit*.exe files on ubuntu.

like image 617
SuVeRa Avatar asked Jun 04 '26 13:06

SuVeRa


2 Answers

You are missing ruby-dev or ruby-1.9-dev package as described in this stackoverflow question. Install development package files first and then trying installing the gem.

like image 113
Kulbir Saini Avatar answered Jun 06 '26 02:06

Kulbir Saini


I encountered the same issue and none of these fixes worked.

Here's what worked. It seems Ubuntu's .bashrc has this line near the top:

# If not running interactively, stop here.
[ -z "$PS1" ] && return

This, as the comment suggests, stops there. Capistrano executes the commands non-interactively, so when it runs .bashrc the rest of the file never gets sourced.

I had my RVM lines below this, so the environment wasn't set up properly for capistrano to bundle.

These lines should go above the previous line:

[[ -s "/usr/local/rvm/scripts/rvm" ]] && source "/usr/local/rvm/scripts/rvm"

Hope this helps someone.

like image 28
Georges Avatar answered Jun 06 '26 03:06

Georges



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!