无法安装gem - 无法构建gem本机扩展 - 无法加载此类文件 - mkmf(LoadError) [英] Unable to install gem - Failed to build gem native extension - cannot load such file -- mkmf (LoadError)

查看:161
本文介绍了无法安装gem - 无法构建gem本机扩展 - 无法加载此类文件 - mkmf(LoadError)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Ruby 1.9.3



Gemfile的部分

  #............... 
宝石小马
宝石bcrypt-ruby,:require => bcrypt
gemnokogiri
#..................

当我尝试安装宝石时,出现错误

  alex @ ubuntu:〜/ $ bundle 
从http://rubygems.org / .........
获取gem元数据从http://rubygems.org/获取gem元数据。 。
输入您的密码以将捆绑的RubyGems安装到您的系统中:
##### ........................ ....................................
安装bcrypt-ruby(3.0.1)本地扩展
Gem :: Installer :: ExtensionBuildError:错误:无法构建gem本机扩展。

/usr/bin/ruby1.9.1 extconf.rb
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in`require':can not load such file - mkmf(LoadError)
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in`require'
from extconf.rb:36:in<<主要>'


Gem文件将保留安装在/home/alex/.bundler/tmp/5526/gems/bcrypt-ruby-3.0.1中进行检查。
记录到/home/alex/.bundler/tmp/5526/gems/bcrypt-ruby-3.0.1/ext/mri/gem_make.out
的结果安装bcrypt-ruby(3.0 .1)和Bundler无法继续。
确保在捆绑之前,gem install bcrypt-ruby -v'3.0.1'`成功。

然后我就这样做了

  sudo gem install bcrypt-ruby -v'3.0.1'
构建原生扩展。这可能需要一段时间...
错误:安装bcrypt-ruby错误:
错误:无法构建gem本机扩展。

/usr/bin/ruby1.9.1 extconf.rb
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in`require':can not load such file - mkmf(LoadError)
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in`require'
from extconf.rb:36:in<<主要>'


Gem文件将保留安装在/var/lib/gems/1.9.1/gems/bcrypt-ruby-3.0.1中进行检查。
结果记录到/var/lib/gems/1.9.1/gems/bcrypt-ruby-3.0.1/ext/mri/gem_make.out

并获得一个错误。



我错过了什么?


<


  • `require':no such file to load - mkmf(LoadError)

  • 无法构建gem原生扩展(mkmf(LoadError)) - Ubuntu 12.04
    通常,解决方案是:


    sudo apt-get install ruby​​-dev


    或者,如果这样做不起作用,则取决于您的ruby版本,运行如下所示: sudo apt-get install ruby​​1 .9.1-dev


    应该解决您的问题。




    仍然无法使用?安装ruby-dev后,请尝试以下操作:


    sudo apt-get install make



    Ruby 1.9.3

    The part of Gemfile

    #...............
    gem "pony"
    gem "bcrypt-ruby", :require => "bcrypt"
    gem "nokogiri" 
    #..................
    

    When I'm trying to install gems, I get an error

    alex@ubuntu:~/$ bundle
    Fetching gem metadata from http://rubygems.org/.........
    Fetching gem metadata from http://rubygems.org/..
    Enter your password to install the bundled RubyGems to your system: 
    #####............................................................
    Installing bcrypt-ruby (3.0.1) 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:36:in `<main>'
    
    
    Gem files will remain installed in /home/alex/.bundler/tmp/5526/gems/bcrypt-ruby-3.0.1 for inspection.
    Results logged to /home/alex/.bundler/tmp/5526/gems/bcrypt-ruby-3.0.1/ext/mri/gem_make.out
    An error occurred while installing bcrypt-ruby (3.0.1), and Bundler cannot continue.
    Make sure that `gem install bcrypt-ruby -v '3.0.1'` succeeds before bundling.
    

    Then I'm doing this

    sudo gem install bcrypt-ruby -v '3.0.1'
    Building native extensions.  This could take a while...
    ERROR:  Error installing bcrypt-ruby:
            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:36:in `<main>'
    
    
    Gem files will remain installed in /var/lib/gems/1.9.1/gems/bcrypt-ruby-3.0.1 for inspection.
    Results logged to /var/lib/gems/1.9.1/gems/bcrypt-ruby-3.0.1/ext/mri/gem_make.out
    

    and getting an error as well.

    What did I miss?

    解决方案

    There are similar questions:

    Usually, the solution is:

    sudo apt-get install ruby-dev

    Or, if that doesn't work, depending on your ruby version, run something like:

    sudo apt-get install ruby1.9.1-dev

    Should fix your problem.


    Still not working? Try the following after installing ruby-dev:

    sudo apt-get install make

    这篇关于无法安装gem - 无法构建gem本机扩展 - 无法加载此类文件 - mkmf(LoadError)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆