• gem update --system 302 错误 解决方案(转)


    具体过程如下: 

    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/中的地址。 

  • 相关阅读:
    学习进度——第五周
    构建之法阅读笔记02
    学习进度——第四周
    整型数组——首尾相连
    构建之法阅读笔记01
    二维数组
    学习进度——第三周
    新最大子数组——数量级和数量无限大
    最大子数组求和
    P3388 【模板】割点(割顶)题解 tarjan求割点
  • 原文地址:https://www.cnblogs.com/jiqing9006/p/3516779.html
Copyright © 2020-2023  润新知