首页 文章

`require':没有要加载的文件 - mkmf(LoadError)

提问于
浏览
553

我试图使用ruby1.9.1在Ubuntu Natty Narwhal 11.04上安装rails .

我使用包含dev包的 apt-get install ruby1.9.1-full 安装了ruby . 我用Google搜索了错误,所有人都建议我安装我已经拥有的1.9.1-dev .

Building native extensions.  This could take a while...
ERROR:  Error installing rails:
    ERROR: Failed to build gem native extension.

        /usr/bin/ruby1.8 extconf.rb
extconf.rb:36:in `require': no such file to load -- mkmf (LoadError)
    from extconf.rb:36


Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/bcrypt-ruby-3.0.1 for inspection.
Results logged to /usr/lib/ruby/gems/1.8/gems/bcrypt-ruby-3.0.1/ext/mri/gem_make.out

9 回答

  • 1

    经过一些搜索解决方案后,事实证明需要 -dev 包,而不仅仅是 ruby1.8 . 所以,如果你有 ruby1.9.1

    sudo apt-get install ruby1.9.1-dev
    

    或者要安装通用的ruby版本,请使用(根据@lamplightdev评论):

    sudo apt-get install ruby-dev
    

    应该解决它 .

    尝试 locate mkmf 以查看文件是否确实存在 .

  • 0

    这个答案对我有用 . 在上面的评论中,但作为ubuntu 12.04 ruby 1.8.7的答案应该得到应有的地位

    sudo apt-get install ruby-dev
    # if above doesnt work make sure you have build essential
    sudo apt-get install build-essential
    
  • 10

    我还需要build-essential安装:

    sudo apt-get install build-essential
    
  • 30

    问题仍然是Ubuntu 13/04 / 13.10 / 14.04的递归问题

    sudo apt-get install ruby1.9.1-dev
    

    为我做好了没关系 . 所以,如果您使用的是Ubuntu 13.04 / 13.10 / 14.04,那么使用它将真的派上用场 .

    即使ruby版本是1.9.3,这也适用 . 这是因为存储库中没有可用的ruby1.9.3-dev ...

  • 2

    你有没有尝试过:

    sudo apt-get install ruby1.8-dev
    
  • 17

    安装捆绑时我遇到了类似的错误

    sudo apt-get install ruby-dev
    

    对我有用并解决问题Mint 16 ruby1.9.3

  • 971

    我觉得有点晚了但是

    sudo yum install -y gcc ruby-devel libxml2 libxml2-devel libxslt libxslt-devel
    

    在fedora为我工作 .

    http://nokogiri.org/tutorials/installing_nokogiri.html

  • 185

    你有Ruby 1.8所以你需要升级到至少1.9才能使它工作 .

    如果是这样,那么检查How to install a specific version of a ruby gem?

    如果这没有帮助,那么再次重新安装 ruby-dev .

  • 36

    您可以使用RVM(Ruby版本管理器)来帮助您管理计算机上所有版本的ruby,这对您的开发非常有用(迁移到不稳定版本到稳定版本时)

    或者对于Linux(ubuntu)去 sudo apt-get install ruby1.8-dev

    然后 sudo gem install rails 验证它确实 rails -v 它会在rails上显示版本

    之后你可以安装bundle(开发所需的宝石)

相关问题