Ubuntu 16.04下Travis安装失败求助:gem原生扩展构建错误解决
解决Ubuntu安装Travis时Gem原生扩展编译失败的问题
嘿,我之前也踩过这个坑!从你贴的报错信息来看,核心问题是ffi这个Ruby Gem在编译原生扩展的时候找不到必要的系统依赖头文件(比如ffi.h)。别担心,按下面的步骤来就能搞定:
Building native extensions. This could take a while... ERROR: Error installing travis: ERROR: Failed to build gem native extension. current directory: /var/lib/gems/2.1.0/gems/ffi-1.9.21/ext/ffi_c /usr/bin/ruby2.1 -r ./siteconf20180216-3916-17dbwfe.rb extconf.rb checking for ffi.h... no checking for ffi.h in /usr/local/include,/usr/include/ffi... no checking for shlwapi.h... no checking for rb_thread_blocking_region(...
步骤1:安装系统层面的编译依赖
首先得把编译ffi需要的库和头文件装上,在Ubuntu下执行这条命令:
sudo apt-get update && sudo apt-get install build-essential libffi-dev ruby-dev
build-essential:提供gcc、make这些基础编译工具libffi-dev:包含ffi扩展需要的ffi.h头文件和库文件ruby-dev:提供Ruby的开发头文件,确保gem能正确编译针对当前Ruby版本的扩展
步骤2:更新RubyGem到最新版本
旧版本的gem可能存在兼容性问题,先更新一下:
sudo gem update --system
步骤3:重新安装Travis
现在依赖都齐了,再尝试安装travis:
sudo gem install travis
如果还是有问题,你可以试试先卸载之前残留的ffi gem,再重新安装指定版本(匹配报错里的版本):
sudo gem uninstall ffi && sudo gem install ffi -v 1.9.21
内容的提问来源于stack exchange,提问作者bmvr
相关产品推荐
相关产品推荐

