15

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]”。

4

4 回答 4

23

看起来您正在使用通过系统安装的 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​​,因为它会为您的系统提取所有大多数开发依赖项,并且您不会经常遇到本机扩展问题。

于 2013-08-09T14:04:06.487 回答
3

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

xcode-select --install

然后

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

于 2016-05-10T13:11:27.747 回答
2

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

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

如果您需要更多许可sudo,请在开始时放置。

此处说明: Ruby Gem install Json 在 Mavericks 和 Xcode 5.1 上失败 - 未知参数:'-multiply_definedsuppress'

于 2014-03-25T20:43:14.077 回答
1

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

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

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

于 2013-08-09T14:03:08.927 回答