【问题标题】:Installing gems results in error安装 gems 导致错误
【发布时间】:2013-08-11 11:33:50
【问题描述】:

ruby 2.0.0p247(2013-06-27 修订版 41674)[x86_64-linux]

宝石 2.0.3

sudo gem install travis
Building native extensions.  This could take a while...
ERROR:  Error installing travis:
        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:4:in `<main>'


Gem files will remain installed in /var/lib/gems/1.9.1/gems/ffi-1.9.0 for inspection.
Results logged to /var/lib/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/gem_make.out

在尝试安装其他 gem 时也会遇到这种情况。我不是 Ruby 用户,在谷歌上搜索错误并没有找到任何可行的解决方案。

我使用 RVM 安装了 Ruby 2.0:“curl -L https://get.rvm.io | bash -s stable --ruby”。

如果我执行“sudo ruby​​ -v”,我会得到“ruby 1.9.3p194(2012-04-20 修订版 35410)[x86_64-linux]”。

【问题讨论】:

  • 您是否阅读了错误日志?

标签: ruby gem travis-ci


【解决方案1】:

首先,我不知道你是怎么安装Ruby2.0的,但是报错说明你还在用1.9.1。 可能您应该使用安装 Ruby2.0 的完整路径来调用“gem”。

此外,gem 拒绝安装组件,因为它需要编译本地代码:您将需要 Ruby 头文件(ruby-dev 包),还可能需要 make、gcc、...

不要犹豫,告诉我们更多关于您的 ruby​​2.0 安装的信息。

【讨论】:

    【解决方案2】:

    看起来您正在使用通过系统安装的 Ruby 1.9.1。为了修复该错误,您应该安装 ruby-dev 包。

    在 Debian/Ubuntu 中,

    sudo apt-get install ruby1.9.1-dev.

    由于 gem 使用原生扩展,你也应该做一个

    sudo apt-get install build-essentials

    在那之前。

    但是,我强烈建议您使用 RVM 和 RVM ruby​​,因为它会为您的系统提取所有大部分开发依赖项,并且您不会经常遇到本机扩展问题。

    【讨论】:

    • 我确实使用过 RVM。更新了问题。
    • 安装 ruby​​1.9.1-dev 解决了我的问题。
    • 如果我尝试安装 build-essentials,找不到它。我刚刚发现 build-essential
    • 我正在运行 Ubuntu 16.04 和 Ruby 2.3。 sudo apt-get install ruby-dev 为我做了诀窍。我没有找到任何build-essentials 包,但我似乎也不需要。
    【解决方案3】:

    您可以使用此 hack 安装 travis gem:

    ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future gem install travis
    

    如果您需要更多权限,请将sudo 放在开头。

    这里的解释: Ruby Gem install Json fails on Mavericks and Xcode 5.1 - unknown argument: '-multiply_definedsuppress'

    【讨论】:

      【解决方案4】:

      在 Mac (El Capitan) 上,我必须:

      xcode-select --install

      然后

      sudo gem install -n /usr/local/bin travis

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-09-06
        • 2014-04-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-05-09
        • 1970-01-01
        相关资源
        最近更新 更多