当前位置: 首页>>技术教程>>正文


`require’:没有要加载的文件 – mkmf(LoadError)

,

问题描述

我试图使用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

最佳解决方案

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

sudo apt-get install ruby1.9.1-dev

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

sudo apt-get install ruby-dev

应该解决它。

尝试使用locate mkmf查看文件是否确实存在。

次佳解决方案

这个答案对我有用。在上面的评论中,但作为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

第三种解决方案

我还需要安装build-essential:

sudo apt-get install build-essential

第四种方案

问题仍然是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 …

第五种方案

你有没有尝试过:

sudo apt-get install ruby1.8-dev

第六种方案

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

sudo apt-get install ruby-dev

对我有用并解决问题Mint 16 ruby​​1.9.3

第七种方案

我觉得有点晚了但是

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

在fedora为我工作。

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

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/6857.html,未经允许,请勿转载。