`require':没有这样的文件加载 – mkmf(LoadError)

我正在尝试在Ubuntu Natty Narwhal 11.04上安装rails,使用ruby1.9.1。

我使用apt-get install ruby1.9.1-full来安装ruby,其中包含dev软件包。 我GOOGLE了错误,所有build议我安装我已经有的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 

经过一些search解决scheme后,事实certificate,需要-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.04ruby1.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上的问题仍然是recursion的

 sudo apt-get install ruby1.9.1-dev 

为我工作好吧。 所以,如果你使用的是Ubuntu 13.04 / 13.10 / 14.04,那么使用它真的会派上用场。

即使ruby版本是1.9.3,这也是有效的。 这是因为Repository中没有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

你有Ruby 1.8,所以你需要升级到至less1.9才能工作。

如果是这样的话,请检查如何安装特定版本的ruby?

如果这不起作用,那么再次重新安装ruby-dev

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

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

然后sudo gem install rails来validation它是否使用rails -v它会在rails上显示版本

之后,你可以安装捆绑(开发所需的gem)