具体过程如下:

1、InstantRails-2.0安装后,在配置环境变量path中配置ruby/bin目录(如果系统中有多个RUBY,执行命令行的时候系统认的就是path中的)

2、进入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

3、从下面这个地址下载 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了

这一步是一切成功的源泉!!!!!!

4、接着再执行gem update --system,提示

Updating RubyGems 
Nothing to update

这是为什么我不明白,请高手指点一下

5、再执行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

6、执行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...

更新成功

7、再次执行 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更新有两种方式:1、联机更新;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/中的地址。

gem update --system 302 错误 解决方案(转)的更多相关文章

  1. gem update --system

    gem update --system 修改完gem sources之后,进行gem update: gem update --system 之后的输出: C:\Sites\test01>gem ...

  2. 完美解决方案,可排除DATASET不支持System.Nullable错误

    完美解决方案,可排除DATASET不支持System.Nullable错误 using System; using System.Collections.Generic; using System.L ...

  3. git pull时 git cannot lock ref XXXXXX (unable to update local ref)错误解决方案

    git pull :  git cannot lock ref    XXXXXX (unable to update local ref) pull代码的时候出现的错误,导致代码拉不下来. 看了一下 ...

  4. Oracle Ora 错误解决方案合集

    注:本文来源于 < Oracle学习笔记 --- Oracle ORA错误解决方案 > ORA-00001: 违反唯一约束条件 (.)错误说明:当在唯一索引所对应的列上键入重复值时,会触发 ...

  5. uploadify 文件上传报http 302错误

    uploadify文件上传会报http 302错误,在配置文件中将处理上传的通用类取消验证, 假设上传的通用处理类是fileUpload.ashx,则在配置文件同添加下面过滤配置能解决问题. < ...

  6. uploadify 报http 302错误

    uploadify 报http 302错误 原因是系统采用Forms认证,服务端加入匿名认证即可 具体配置如下: <location path="Base/Base/Upload&qu ...

  7. mysql 1577、1548错误 解决方案

    mysql 1577.1548错误 解决方案 1.mysql版本: 5.5.12 2.问题原因: 使用Navicat导出数据库的提示 :1577 – Cannot proceed because sy ...

  8. 使用git pull拉取代码的时候,无法拉取最新代码,报"unable to update local ref"错误。

    使用git pull拉取代码的时候,无法拉取最新代码,报"unable to update local ref"错误. 除了重新clone一份代码外,还可以使用如下解决方案: .切 ...

  9. MVC中使用jquery uploadify上传图片报302错误

    使用jquery uploadify上传图片报302错误研究了半天,发现我上传的action中有根据session判断用户是否登录,如果没有登录就跳到登陆页,所以就出现了302跳转错误.原来更新了fl ...

随机推荐

  1. 检测页面的localstorage剩余容量

    首先用了JSON.stringify(localStorage).length得出你当前页面的localstorage所使用的字符数量current_num. 然后你再去http://arty.nam ...

  2. QT 4.87 changes

    http://blog.qt.io/blog/2015/05/26/qt-4-8-7-released/ Qt 4.8.7 is a bug-fix release. It maintains bot ...

  3. js 实现二叉树

    二叉树是每个结点最多有两个子树的有序树.通常子树的根被称作“左子树”(left subtree)和“右子树”(right subtree),右边的总是大于左边的!二叉树的每个结点至多只有二棵子树(不存 ...

  4. kibana 日志查看界面

  5. 剑指offer-面试题6.重建二叉树

    题目:输入某二叉树的前序遍历和中序遍历结果,请重建出该二叉树.假设 输入的前序遍历和中序遍历的结果都不含重复的数字.例如输入前序遍历 序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2, ...

  6. POJ22230 Watchcow (欧拉回路)

    Watchcow Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 6477   Accepted: 2823   Specia ...

  7. POJ 2263 Heavy Cargo(Floyd + map)

    Heavy Cargo Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 3768   Accepted: 2013 Descr ...

  8. Ajax跨域访问解决办法

    方法1. jsonp实现ajax跨域访问示例 jsp代码: <body> <input type="button" onclick="testJsonp ...

  9. Back to Underworld(搜索)

    Back to Underworld Time Limit:4000MS     Memory Limit:32768KB     64bit IO Format:%lld & %llu Su ...

  10. 五、MP3文件认识上的几个误区

    1.每帧播放时长都为26ms? 很多博客和文章都提到,Mp3文件每个帧的播放时长(Frame_PlayingTime)是26ms,这个结论是错误的.公式应该是这样的: 一个帧的播放时长=一个帧的采样个 ...