我有一个运行 CentOS 6.6 版的 Digital Ocean droplet,我需要在其上安装 Ruby 和 Capistrano。我一直在遵循这个傻瓜指南;
但我在命令时遇到了一个问题rvm install 2.1.0
。
基本上,安装脚本尝试安装包libffi-devel
但无法安装。抛出一个错误,说存在 Multilib 版本问题,我需要解决并建议一些补救措施。这些补救措施似乎都不起作用,要么是我在 Google 上搜索了完全错误的东西,要么这种情况并不经常发生,因为我找不到解决方案。以下是屏幕截图;
我尝试过什么;
Yum check 运行(花费很长时间但最终到达)并返回;
Loaded plugins: fastestmirror check all
我尝试按照命令的
--setopt=protected_multilib=false
建议重新运行带有标志的命令(或者建议不要这样做,我太绝望了)。我不确定我在语法上做错了什么,但这会引发错误;Unrecognized command line flag: '--setopt=protected_multilib=false' ( see: 'rvm usage' )
通过尝试该命令,
yum list libffi
它向我显示了以下内容(下图)。也就是说,有一个已安装的包和一个可用的包。如果我尝试使用升级已安装的包,yum update libffi.x86_64
它会告诉我没有标记为更新的软件包。如果我尝试使用它删除未安装的包,yum remove libffi.i686
它会告诉我软件包 libffi.i686 可用,但未安装。没有标记为删除的软件包。
- 更新所有内容
yum update
,它告诉我没有标记为更新的软件包。
答案1
好吧,我搞定了。我犹豫着是否要使用此 Stack 中的答案;
https://stackoverflow.com/questions/15799047/trying-to-remove-yum-which-is-protected-in-centos
因为有评论说 yum 本身坏了。我还是试了一下;
rpm -e --nodeps libffi
然后它卸载了有问题的 libffi 包。然后
yum install libffi-devel
运行正常,我可以继续安装 ruby,没有问题。