使用ruby过程中遇到安装gem失败的一些通用解决方案

ruby语言升级还是比较勤快的。但是数量众多的版本使得程序库的兼容性成了大问题。有些gem表示明确不支持某个特定版本以前的ruby,而有些gem则与较高的版本不兼容。再加上gem本身也有版本,简直是乱成了一锅粥。即使使用了rvm、rbenv之类ruby版本管理工具也避免不了掉入坑中。并且时不时的一些其它环境设置也给你捣乱。所以一般使用ruby程序时,对升级ruby版本或各种gem版本都是比较慎重的,避免一时手贱掉入坑中。

当然你也不能因此就做缩头乌龟,某些情况下还是不得不升级的。比如想使用ruby或gem新版本的特性。而我本人无论使用什么软件都喜欢升级到最新版本,ruby程序也不例外。时间久了栽的次数多了也慢慢摸索出了一些经验。这里分享一下,希望大家都能避免这些坑,大胆的升级。

由于本人使用的操作系统是mac,所以这些tips都是基于MAC系统的。

当运行ruby脚本或者bundle install时,出错了首先一定要仔细看错误日志。如果有明确的出错日志,自己能解决的就可以着手解决,不知如何解决的可以选取关键词google之,一般也能找到解决方案。怕就怕google一圈以后还是不知如何是好。那么可以尝试下下面的几种方法。

升级ruby的小版本。

首先将当前的rvm升级到最新版本。

1
$ rvm get stable

然后查看当前使用的ruby版本和服务端可用的ruby版本。

1
2
3
$ rvm list

$ rvm list known

虽然不打算升级ruby主版本,但是小版本是可以尝试升级下,看是否能解决问题。比如当前你的ruby使用的是ruby-1.9.3-p448,但是查看到目前可用的1.9.3最新版本为ruby-1.9.3-p545。那么可以尝试切换到这个新版本下看能否解决问题。

1
2
3
$ rvm install ruby-1.9.3-p545

$ rvm use ruby-1.9.3-p545

确保Xcode及Command line developer tools为最新版本

请确保本机的Xcode的 command line developer tools已经安装并且是最新版本。把Xcode升级到最新版本以后,在命令行下输入:

1
$ xcode-select —install

这样会弹出来一个升级对话框来升级相应的软件。

确保GCC为最新版本

查看目前电脑的gcc的版本。

1
$ gcc -v

如果需要更新gcc的话推荐通过homebrew来更新。首先更新homebrew。

1
$ brew update

然后输入下列命令。

1
2
$ brew tap homebrew/dupes
$ brew search gcc

brew会告诉你当前最新的gcc版本。例如是apple-gcc42。然后安装新版本gcc。

1
$ brew install apple-gcc42

然后查看系统是否应用了这个版本的gcc。

1
2
$ which gcc-4.2
/usr/local/bin/gcc-4.2

基本上以上的一些检查会解决掉一批由于ruby环境造成的问题。

时间: 2024-10-25 12:03:29

使用ruby过程中遇到安装gem失败的一些通用解决方案的相关文章

service-程序发布——把mfc程序(带有dll)做成安装包, 安装过程中自动安装windows服务

问题描述 程序发布--把mfc程序(带有dll)做成安装包, 安装过程中自动安装windows服务 如题 怎么实现??? 有高手留一下联系方式么~~跪求 如题 怎么实现??? 有高手留一下联系方式么~~跪求如题 怎么实现??? 解决方案 //打开服务控制管理器 SC_HANDLE hSCM = ::OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS); if (hSCM == NULL) { return FALSE; } // Get the exe

马云创业过程中的10次失败(转)

1.好大喜功迁都上海铩羽而归 时间:1999 年 原因:盲目追求高大上 结局:公司总部重新迁回杭州再也没离开过 1999 年,阿里刚起步,员工的办公场所,是马云那 150 平米的家.获得融资后,马云开始飘飘然,将公司总部搬到美国,国内总部搬到上海,马上发现水土不服,又重新迁回杭州.财经评论人吴晓波表示,这是马云犯下的第一个错误. 事后分析,上海城市多是大型国企.外资企业,而阿里服务对象多是中小企业.杭州聚集着大量制造外贸企业,它们有实实在在的电商需求. <创业家>&i黑马点评:马云年轻

Oracle 10g RAC集群安装部署过程中如何安装RAC集群套件

一.首先解压集群套件包: gunzip 10201_clusterware_linux_x86_64.gz cpio -idmv < 10201_clusterware_linux_x86_64.cpio 解压放置的地方需要有oracle用户使用的权限 二.开始安装oracle RAC集群套件, 2.2.1.安装之前首先关闭两个节点的防火墙,Selinux不然是无法通过安装的 2.2.2.安装之前修改系统版本,来欺诈oracle数据库,然后执行xhost+ 2.2.3.完成上面的配置之后,使用o

Oracle 10203 RAC环境添加新节点(五)添加节点的软件安装过程中的问题

简单描述一下,在Oracle 10203 for Solaris sparc的RAC双节点环境中,新增一个节点的过程.共享存储已经在第三个节点上配置完成,这里主要介绍操作系统上和Oracle上的配置. 简单描述添加节点的软件安装过程中碰到的问题. 第一个错误是在运行ADDNODE.SH工具时碰到的,在节点3的安装过程中出现了空间不足的错误: INFO: ld.so.1: lsnodes: fatal: libskgxn2.so: open failed: No such file or dire

安装Zabbix过程中出现的问题集

安装Zabbix过程中出现的问题集: zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题. 故障一:  2637:20151009:050431.719 [Z3001] connection to database 'zabbix' failed: [1045] Access denied for user 'zabbix'@'loc

请教solr安装过程中出现如下问题如何解决啊?

问题描述 请教solr安装过程中出现如下问题如何解决啊? 解决方案 你的代码有问题 看看出错提示的代码行数

QQ安装出现提取安装文件失败原因及解决教程

给各位QQ软件的用户们来详细的解析分享一下QQ安装出现提取安装文件失败的原因以及解决的教程. 教程分享:     1.不管是哪个版本的QQ,如果是在安装的过程中出现"提取文件失败"的提示,应该是以前的安装注册表没有清理干净.可以用专门的软件清理,也可以手动清理:在运行(WIN+R)中输入Regedit打开注册表,在每一个项下查找"Tencent "(不包括引号),删除所有的Tencent的项(类似文件夹).然后再安装,试一下. 2.下载微软提供的Windows In

link环境下使用codefirst技术制作《网盘软件》的过程中,硬盘不够报警怎么实现?

问题描述 link环境下使用codefirst技术制作<网盘软件>的过程中,硬盘不够报警怎么实现? link环境下使用codefirst技术制作<网盘软件>的过程中,硬盘不够报警怎么实现? 解决方案 http://www.weste.net/2006/12-30/23412364654.html

sharepoint环境安装过程中几点需要注意的地方

写在前面 上篇文章也说明了,在安装sharepoint环境的时候,确实吃了不少苦头,这里纪录一下安装过程中遇到的几个问题. 安装环境 windows server 2012 r2 standard x64 sql server 2012 sp1 x64 sharepoint 2013 with sp1 安装步骤 安装步骤可参考 SharePoint 2013 安装图解 霖雨 1.安装数据库遇到的问题. 安装步骤按照上面的安装即可,但在安装数据库的时候,如果一直提示安装不成功,可参照下图,修改账户