Read Sean

Read me, read Sean.
posts - 508, comments - 655, trackbacks - 9, articles - 4

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



只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问