使用ruby過程當中遇到安裝gem失敗的一些通用解決方案

ruby語言升級仍是比較勤快的。可是數量衆多的版本使得程序庫的兼容性成了大問題。有些gem表示明確不支持某個特定版本之前的ruby,而有些gem則與較高的版本不兼容。再加上gem自己也有版本,簡直是亂成了一鍋粥。即便使用了rvm、rbenv之類ruby版本管理工具也避免不了掉入坑中。而且時不時的一些其它環境設置也給你搗亂。因此通常使用ruby程序時,對升級ruby版本或各類gem版本都是比較慎重的,避免一時手賤掉入坑中。xcode

固然你也不能所以就作縮頭烏龜,某些狀況下仍是不得不升級的。好比想使用ruby或gem新版本的特性。而我本人不管使用什麼軟件都喜歡升級到最新版本,ruby程序也不例外。時間久了栽的次數多了也慢慢摸索出了一些經驗。這裏分享一下,但願你們都能避免這些坑,大膽的升級。ruby

因爲本人使用的操做系統是mac,因此這些tips都是基於MAC系統的。bash

當運行ruby腳本或者bundle install時,出錯了首先必定要仔細看錯誤日誌。若是有明確的出錯日誌,本身能解決的就能夠着手解決,不知如何解決的能夠選取關鍵詞google之,通常也能找到解決方案。怕就怕google一圈之後仍是不知如何是好。那麼能夠嘗試下下面的幾種方法。app

升級ruby的小版本。

首先將當前的rvm升級到最新版本。工具

1
$ rvm get stable 

而後查看當前使用的ruby版本和服務端可用的ruby版本。google

1
2
3
$ rvm list  $ rvm list known 

雖然不打算升級ruby主版本,可是小版本是能夠嘗試升級下,看是否能解決問題。好比當前你的ruby使用的是ruby-1.9.3-p448,可是查看到目前可用的1.9.3最新版本爲ruby-1.9.3-p545。那麼能夠嘗試切換到這個新版本下看可否解決問題。spa

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環境形成的問題。

相關文章
相關標籤/搜索