ruby 2.0.0p247(2013-06-27修订版41674)[x86_64-linux]
gem 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
在尝试安装其他宝石时也会遇到这种情况。我不是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 revision 35410)[x86_64-linux]”。
答案 0 :(得分: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,因为它会为您的系统提取所有大部分dev依赖项,并且您不会经常遇到本机扩展问题。
答案 1 :(得分:3)
在Mac(El Capitan)上我不得不:
xcode-select --install
然后
sudo gem install -n /usr/local/bin travis
答案 2 :(得分:2)
您可以使用此hack安装travis gem:
ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future gem install travis
如果您需要更多权限,请将sudo
放在开头。
答案 3 :(得分:1)
首先,我不知道你是如何安装Ruby2.0的,但错误表明你仍在使用1.9.1。 可能你应该使用安装Ruby2.0的完整路径来调用'gem'。
另外,gem拒绝安装组件,因为它需要编译本机代码:你需要Ruby头文件(ruby-dev包),但也可能是make,gcc,...
请不要犹豫,告诉我们有关您的ruby2.0安装的更多信息。