今天在定制RPM包时,使用命令gem install fpm时,出现以下错误报告:

[root@m01 ansible_playbook]# gem install fpm

Building native extensions.  This could take a while...

ERROR:  Error installing fpm:

ffi requires Ruby version >= 1.9.


解决方法:

原因:安装fpm需要依赖包ruby的版本在1.9以上,那么升级ruby就可以了


过程:

 1.   使用rvm安装,首先需要安装rvm

          先查看你是否安装过rvm, 执行命令

        rvm -v

  2.    curl -L get.rvm.io | bash -s stable

            执行成功后,根据尾部的提示执行:source /etc/profile.d/rvm.sh (路径以尾部提示为准)

  3.     查看是否安装成功, 输入:    rvm -v

  4.    列表显示都可以安装ruby的哪些版本

rvm list known

  5.     更新ruby至版本2.3.0

rvm install 2.3.0

 如果更新过程中没有error, 更新结束后输入命令ruby -v看看是不是2.3.0版本, 如果是的话, 恭喜




如果安装过程中遇到问题,, 是不是与我遇到的问题一样:

问题一:

安装过程中有下面的错误, showing last 15 lines of /Users/LL.F/.rvm/log/1475202192_ruby-2.3.0/make.logThere has been an error while running make. Halting the installation这个错误信息是因为电脑中有多个版本的Xcode

错误报告:ffi requires Ruby version >= 1.9._第1张图片

6.png

这样解决??
(1) 终端输入

xcode-select --install

(2) 此时会弹出一个软件安装信息 点击安装 安装结束后继续在终端输入

rvm install 2.3

就会有图8安装完成的字样, 这个问题就解决了,然后再去安装cocoapods

错误报告:ffi requires Ruby version >= 1.9._第2张图片

7.png

错误报告:ffi requires Ruby version >= 1.9._第3张图片

8.png

问题二:

本来我的ruby已经是2.3.0版本了, 但是我想练习一下从安装rvm开始, 于是我就进行了下列一系列的操作
(1) 卸载rvm

rvm implode
(2) 卸载完成后开始安装, 就是重复1> ~ 3> 步骤, 现在rvm安装好了

错误报告:ffi requires Ruby version >= 1.9._第4张图片

9.png


(3) 更新ruby到2.3.0

rvm install 2.3.0

更新完他提示我已经是2.3.0版本

错误报告:ffi requires Ruby version >= 1.9._第5张图片

10.png

所以我就查了一下当前到底是什么版本

错误报告:ffi requires Ruby version >= 1.9._第6张图片

11.png


我还抱着侥幸的心理, 用ruby use 2.3.0 --default设成默认的, 还是不可以

错误报告:ffi requires Ruby version >= 1.9._第7张图片

12.png


我就奇怪了, 竟然不可以, 那好吧,我就按他的提示重新安装一下2.3.0
那么问题来了:
给了我下面这些的错误信息

错误报告:ffi requires Ruby version >= 1.9._第8张图片

13.png

错误报告:ffi requires Ruby version >= 1.9._第9张图片

14.png


后来找到了解决办法, 如图15的解决办法
终端输入下面命令等一会就安装成功了, 我的ruby终于解决了

__rvm_rm_rf /Users/LL.F/.rvm/rubies/ruby-2.3.0

错误报告:ffi requires Ruby version >= 1.9._第10张图片

15.png

技术分享






参考原文:http://www.mamicode.com/info-detail-1574918.html


小伙伴们可以关注我的微信公众号:linux运维菜鸟之旅

qrcode_for_gh_5ecc48d3d14a_258.jpg

关注“中国电信天津网厅”公众号,首次绑定可免费领2G流量,为你的学习提供流量! 

qrcode_for_gh_d20dccd1c74b_258.jpg