由于最近国际互联网速率不是很稳定,而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 [项目名]验证。