ruby安裝gem包失敗的通用解決方案_ruby專題

來源:互聯網
上載者:User

ruby語言升級還是比較勤快的。但是數量眾多的版本使得程式庫的相容性成了大問題。有些gem表示明確不支援某個特定版本以前的ruby,而有些gem則與較高的版本不相容。再加上gem本身也有版本,簡直是亂成了一鍋粥。即使使用了rvm、rbenv之類ruby版本管理工具也避免不了掉入坑中。並且時不時的一些其它環境設定也給你搗亂。所以一般使用ruby程式時,對升級ruby版本或各種gem版本都是比較謹慎的,避免一時手賤掉入坑中。

當然你也不能因此就做縮頭烏龜,某些情況下還是不得不升級的。比如想使用ruby或gem新版本的特性。而我本人無論使用什麼軟體都喜歡升級到最新版本,ruby程式也不例外。時間久了栽的次數多了也慢慢摸索出了一些經驗。這裡分享一下,希望大家都能避免這些坑,大膽的升級。

由於本人使用的作業系統是mac,所以這些tips都是基於MAC系統的。

當運行ruby指令碼或者bundle install時,出錯了首先一定要仔細看錯誤記錄檔。如果有明確的出錯日誌,自己能解決的就可以著手解決,不知如何解決的可以選取關鍵詞google之,一般也能找到解決方案。怕就怕google一圈以後還是不知如何是好。那麼可以嘗試下下面的幾種方法。

升級ruby的小版本。

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

複製代碼 代碼如下:
$ rvm get stable

然後查看當前使用的ruby版本和服務端可用的ruby版本。
複製代碼 代碼如下:
$ rvm list
$ rvm list known

雖然不打算升級ruby主要版本,但是小版本是可以嘗試升級下,看是否能解決問題。比如當前你的ruby使用的是ruby-1.9.3-p448,但是查看到目前可用的1.9.3最新版本為ruby-1.9.3-p545。那麼可以嘗試切換到這個新版本下看能否解決問題。
複製代碼 代碼如下:
$ 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升級到最新版本以後,在命令列下輸入:
複製代碼 代碼如下:
$ xcode-select —install

這樣會彈出來一個升級對話方塊來升級相應的軟體。

確保GCC為最新版本
查看目前電腦的gcc的版本。

複製代碼 代碼如下:
$ gcc -v

如果需要更新gcc的話推薦通過homebrew來更新。首先更新homebrew。
複製代碼 代碼如下:
$ brew update

然後輸入下列命令。

複製代碼 代碼如下:
$ brew tap homebrew/dupes
$ brew search gcc

brew會告訴你當前最新的gcc版本。例如是apple-gcc42。然後安裝新版本gcc。
複製代碼 代碼如下:
$ brew install apple-gcc42

然後查看系統是否應用了這個版本的gcc。
複製代碼 代碼如下:
$ which gcc-4.2
/usr/local/bin/gcc-4.2

基本上以上的一些檢查會解決掉一批由於ruby環境造成的問題。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.