【问题标题】:Failed to build gem native extension (mkmf (LoadError)) - Ubuntu 12.04 [duplicate]无法构建 gem 本机扩展(mkmf(LoadError))-Ubuntu 12.04 [重复]
【发布时间】:2013-08-21 10:03:30
【问题描述】:

嘿,我正在尝试在新的 ubuntu 机器上安装 rails。我安装了 ruby​​ 和 rvm,但出现“无法构建 gem 本机扩展”错误。这是什么意思?

$ sudo gem install rails -v 3.2.9

(没有 sudo 表示我没有权限)

然后它会输出很多“获取”命令,最终会出现这个错误:

    Building native extensions.  This could take a while...
    ERROR:  Error installing rails:
        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:1:in `<main>'


    Gem files will remain installed in /var/lib/gems/1.9.1/gems/json-1.8.0 for inspection.
    Results logged to /var/lib/gems/1.9.1/gems/json-1.8.0/ext/json/ext/generator/gem_make.out

当我输入时

$rails server

它说当前没有安装rails

【问题讨论】:

  • 你见过this thread
  • 你不应该将sudo 与 rvm 一起使用!

标签: ruby-on-rails ruby ruby-on-rails-3 ubuntu-12.04


【解决方案1】:

可能重复:

Unable to install gem - Failed to build gem native extension - cannot load such file -- mkmf (LoadError)

根据您的 ruby​​ 版本,运行:

sudo apt-get install ruby1.9.1-dev

【讨论】:

  • -1 请解释一下?
  • 用户使用rvm 安装了ruby,使用sudo 将他从rvm 安装的ruby 中切换出来(重置环境变量),您的解决方案没有解释任何内容,只会让用户继续sudo路径
  • @mpapis 我很久以前就遇到过这个问题,并用这个命令修复了它。另外我链接的答案(作为AlthafHamez链接的答案)证明它可以解决mkmf LoadError的问题。您的答案在哪里解释了如何解决这个问题以及为什么它不起作用?
  • 我没有投反对票,因为我知道得更好,我这样做是因为它让用户感到困惑
【解决方案2】:

如果您使用的是 RVM,则永远不应该使用“sudo”。使用 sudo 从 rvm 路径中调用 libs 等。试试公寓:

gem install rails -v3.2.9

看看有没有帮助。

【讨论】:

  • 上帝之母这应该是答案。赞美你!
猜你喜欢
  • 2012-11-25
  • 2017-11-02
  • 2019-06-20
  • 2018-04-26
  • 2012-10-19
  • 2012-08-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多