具体过程以下:
一、InstantRails-2.0安装后,在配置环境变量path中配置ruby/bin目录(若是系统中有多个RUBY,执行命令行的时候系统认的就是path中的)
二、进入DOS命令行,执行gem update --system,结果
Updating RubyGems...
ERROR: While executing gem ... (Gem::RemoteSourceException)
HTTP Response 302 fetching http://rubygems.org/yaml
这是由于gem的配置太低,没法进行远程更新,执行gem -v 发现是1.0.1
三、从下面这个地址下载 rubygems-update-1.3.7.gem,http://rubyforge.org/frs/download.php/70695/rubygems-update-1.3.7.gem
而后DOS命令进行该文件所在的目录,执行gem install --local rubygems-update-1.3.7.gem,出现信息
Successfully installed rubygems-update-1.3.7
1 gem installed
Installing ri documentation for rubygems-update-1.3.7...
Installing RDoc documentation for rubygems-update-1.3.7...
Could not find main page README
Could not find main page README
Could not find main page README
Could not find main page README
执行gem -v查看,发现并无更新成功,Could not find main page README是什么意思我没弄明白,可是我从http://production.s3.rubygems.org/yaml上发现这么一句
If you have an older version of RubyGems installed, then you can still
do it in two steps:
$ gem install rubygems-update # again, might need to be admin/root
$ update_rubygems # ... here too
我照着再执行 update_rubygems,接着出现的信息不少,就不帖出来,再执行gem -v,发现更新成功,已是1.3.7了
这一步是一切成功的源泉!!!!!!
四、接着再执行gem update --system,提示
Updating RubyGems
Nothing to update
这是为何我不明白,请高手指点一下
五、再执行gem update rails --include-dependencies,提示信息
Updating installed gems
Updating rails
ERROR: Error installing rails:
actionpack requires rack (~> 1.0.0, runtime)
Gems updated: activesupport, activerecord
Installing ri documentation for activesupport-2.3.3...
Installing ri documentation for activerecord-2.3.3...
Installing RDoc documentation for activesupport-2.3.3...
Installing RDoc documentation for activerecord-2.3.3...
执行rails -v,发现仍是2.0.2没有更新成功,根据actionpack requires rack (~> 1.0.0, runtime),应该是actionpack 须要1.0.0版本的rack
六、执行gem install rack -v=1.0.0
Successfully installed rack-1.0.0
1 gem installed
Installing ri documentation for rack-1.0.0...
Installing RDoc documentation for rack-1.0.0...
更新成功
七、再次执行 gem update rails --include-dependencies
出现信息
Updating installed gems
Updating rails
Successfully installed rake-0.8.7
Successfully installed activesupport-2.3.8
Successfully installed activerecord-2.3.8
Successfully installed rack-1.1.0
Successfully installed actionpack-2.3.8
Successfully installed actionmailer-2.3.8
Successfully installed activeresource-2.3.8
Successfully installed rails-2.3.8
Gems updated: rake, activesupport, activerecord, rack, actionpack, actionmailer, activeresource, rails
Installing ri documentation for rake-0.8.7...
Installing ri documentation for activesupport-2.3.8...
Installing ri documentation for activerecord-2.3.8...
Installing ri documentation for rack-1.1.0...
Installing ri documentation for actionpack-2.3.8...
Installing ri documentation for actionmailer-2.3.8...
Installing ri documentation for activeresource-2.3.8...
Installing ri documentation for rails-2.3.8...
Installing RDoc documentation for rake-0.8.7...
Installing RDoc documentation for activesupport-2.3.8...
Installing RDoc documentation for activerecord-2.3.8...
Installing RDoc documentation for rack-1.1.0...
Installing RDoc documentation for actionpack-2.3.8...
Installing RDoc documentation for actionmailer-2.3.8...
Installing RDoc documentation for activeresource-2.3.8...
Installing RDoc documentation for rails-2.3.8...
执行rails -v,发现已更新成功
总结:rails更新有两种方式:一、联机更新;2本地更新
联机更新过程当中若是出现HTTP Response 302 fetching http://rubygems.org/yaml没法更新,有两种状况
一是gem的版本太低,二是与服务器的链接不通
此时能够试着加入其余服务器地址
gem source -l 查看列表
gem source -a http://rubygems.org 加入新的服务器地址
或者直接gem install rubygems-update --source http://rubygems.org
本地更新须要下载相应的gem包,版本需与要更新的rails版本对应,同时安装顺序有要求,所以gem包之间有依赖关系
顺序从上面的显示信息中能够看出来
Successfully installed rake-0.8.7
Successfully installed activesupport-2.3.8
Successfully installed activerecord-2.3.8
Successfully installed rack-1.1.0
Successfully installed actionpack-2.3.8
Successfully installed actionmailer-2.3.8
Successfully installed activeresource-2.3.8
Successfully installed rails-2.3.8
至于gem包的下载地址都在http://rubyforge.org/,可是有些项目的并很差找到,能够在google中直接搜索,就能找到在http://rubyforge.org/中的地址。 php