• 使用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环境造成的问题。

  • 相关阅读:
    手机传感器大科普:手机中的陀螺仪、加速器和磁力计
    安卓新导入工程中gen目录下无R文件解决方法
    自写的 c# 锚点,前端显示 读书 记事本(一)
    update access 不能更新
    NHibenate初学资源推荐(切肤之痛)
    ASP.NET页面刷新和定时跳转
    c#(或vb.net)程序改进 (转载)
    感恩节的一天
    了解自己以及明白牛人会找什么样的人创业
    从别人如何读简历 看我们该如何成长
  • 原文地址:https://www.cnblogs.com/huang0925/p/3647489.html
Copyright © 2020-2023  润新知