Error installing gems that use native extensions on Ubuntu, Ruby 1.9.2 via RVM

前端 未结 5 1707

I get an error while trying to install the ffi gem:

~ - 16:54>gem i ffi
Building native extensions.  This could take a while...
ERROR:  Error installing f         


        
5条回答
  •  有刺的猬
    2020-12-25 09:24

    This caused me a ton of aggravation at the Boston Hack Day when trying to install Vagrant (for which FFI is a dependency). I ended up wasting so much time that I switched machines to work around the problem.

    After the fact, I found a hack that works (although I'm sure there's a better solution). The file that the error message is complaining about

    ~/.rvm/gems/ruby-1.9.2-p180/bin/rake
    

    differs from other similar copies in that it's missing path setup stuff at the head, so I copied these lines from one of the files that had them:

    [genericized per @danv's answer below. Thanks for the improvement!]

    ENV['GEM_HOME']=ENV['GEM_HOME'] || '~/.rvm/gems/ruby-1.9.2-p180'
    ENV['GEM_PATH']=ENV['GEM_PATH'] || '~/.rvm/gems/ruby-1.9.2-p180:~/.rvm/gems/ruby-1.9.2-p180@global'
    ENV['PATH']='~/.rvm/gems/ruby-1.9.2-p180/bin:~/.rvm/gems/ruby-1.9.2-p180@global/bin:~/.rvm/rubies/ruby-1.9.2-p180/bin:' + ENV['PATH']
    

    That fixed it for me. This was a new Ubuntu 10.10 install with no default Ruby installation (which could be part of the problem) and Ruby 1.9.2 installed using RVM. Lots of other gems installed fine, including those requiring native compilation, so the problem is something specific to FFI.

提交回复
热议问题