由于最近國際互聯網速率不是很穩定,而gem install自動默認到rubyforge下載gem安裝包,由于rails依賴好幾個其他的gem,而gem install需要遍歷所有這些gem,所以gem install經常出出現超時的情況,怎么辦呢?答案就是把相關的每個gem單獨下載到本地,然后用--local選項安裝。但是怎么確定你的需要哪些gem呢?
簡單說明一下rubyforge的目錄結構,了解之后找起gem來就會方便很多:
http://rubyforge.org/projects/[project_name]/
# 把[project_name]替換為你要找的gem名稱(不要加版本號)就能訪問到該gem的主頁,然后中間靠右即是跳轉到下載頁面的鏈接("Download"),排在最上面的就是最新版,注意文件擴展名,我們要找的是.gem。
本文假定你已經apt-get install ruby1.8 ri rdoc irb,并且也已經去
http://rubyforge.org/projects/rubygems/下載并安裝好RubyGems。
1- 首先下載rails gem,按照剛才提的方法,rails的gem主頁在
http://rubyforge.org/projects/rails/,目前的最新版本是1.1.6。
2- cd到下載到本地的目錄,然后
$ sudo gem specification --local --version 1.1.6 rails | grep "^ name:\|^ version:" # (^后分別是2個空格和8個空格)
可以看到如下結果:
----------------------------------------
name: rake
version: 0.7.1
name: activesupport
version: 1.3.1
name: activerecord
version: 1.14.4
name: actionpack
version: 1.12.5
name: actionmailer
version: 1.2.5
name: actionwebservice
version: 1.1.6
----------------------------------------
3- OK,接下來我們依次去rubyforge下載這些gem,注意actionwebservice的project name是"aws",其余的project name和gem名稱一樣。
4- 依次sudo gem install --local [gem_name],rails放在最后,即可完成安裝,可以通過which rails或者rails [項目名]驗證。