将“gem update --system”更新为2.3.8到3.0?

时间:2010-09-08 00:10:58

标签: ruby rubygems

如果我有一台第二台电脑我就会这么做而且看到了 - 但是我已经很好地调整了这个东西,但还没有运行3.0 ......不想搞砸它。花了几个小时几个小时到达这里。基本上 - 我想保持轨道在2.3.8一段时间......所以

  

gem update --system

从版本2更新rails - > 3?我确实没有明确的答案阅读文档,我猜它会,但嘿,可能会学到新的东西。 否则我会更新我拥有的每一颗(8 - 1颗)宝石。 感谢...

4 个答案:

答案 0 :(得分:23)

gem update --system只更新RubyGems。

gem update会将所有已安装的gem更新为最新版本,因此会将Rails更新为3.0.0。

在更新gem之前,您可以通过执行

将应用程序冻结到rails 2.3.8
rake rails:freeze:gems

在您的应用程序文件夹中。因此,即使您将全局gem更新为rails 3,您的应用程序也将在rails 2.3.8环境中关联并运行。

您可以随时通过以下方式安装特定的rails版本:

gem install rails -v 2.3.8 (or another version of your choice)

这可能会同时安装多个gem版本,因此您可以使用您认为合适的任何版本创建和开发应用程序。

或者您可以安装RVM来创建和切换任意数量的ruby / rails开发环境,例如带有Rails 2.3.9的Ruby 1.8.7和带有Rails 3.0.0的ruby 1.9.2等等。

答案 1 :(得分:2)

该命令应该只更新RubyGems软件,而不是已安装的gem。

从命令行帮助:

→ gem help update
Usage: gem update GEMNAME [GEMNAME ...] [options]

  Options:
      --system                     Update the RubyGems system software

答案 2 :(得分:1)

theIV已经给予了令人钦佩和正确的回答,但我恰巧处于一个独特的位置,非常具体地解决了你的问题,所以你走了:

  

C:> gem list --local |找到“rails”

     

rails(2.3.5)

     

C:> gem update --system

     

更新   RubyGems更新rubygems-update   成功安装   rubygems-update-1.3.7更新   RubyGems到1.3.7安装RubyGems   1.3.7安装了RubyGems 1.3.7

     

=== 1.3.7 / 2010-05-13

     

注:

     

http://rubygems.org现在是默认设置   下载宝石的来源。

     

您可以通过〜/ .gemrc设置源,   所以你应该更换   http://gems.rubyforge.org   http://rubygems.org

     

http://gems.rubyforge.org会   继续为可预见的人工作   将来

     

新功能:

     
      
  • gem命令* gem installgem fetch现在报告备用   平台时   无法找到匹配的。 * gem contents --prefix现在是--help中指定的默认值。窃听器      Mamoru Tasaka的

    27211。 * gem fetch可以获取旧版本

         再次。 Eric Hankins的Bug#27960。
  •   
  • gem query和朋友输出现在列出了平台。 Greg的Bug#27856   榛。 * gem server现在允许指定多个宝石目录   文档。 Yuki Sonoda的虫子#27573。 * gem unpack可以解包   再次宝石。 Timothy的虫子#27872   琼斯。 * gem unpack现在解包   远程宝石。 * --user-install是没有   更长的默认值。如果你真的   喜欢它,看   Gem :: ConfigFile学习如何默认设置它。 (这个改变是   制作   在1.3.6)
  •   
  • RubyGems现在可以为IronRuby提供平台支持。威尔补丁#27951   绿色。
  •   
     

错误修复:

     
      
  • 如果设置了--disable-gem,则需要rubygems / custom_require。 Roger Pack的Bug#27700。
  •   
  • RubyGems现在可以防止插件引发异常。
  •   
  • ruby​​gems / builder现在需要user_interaction。 Ruby Bug#1040 by   Phillip Toland。
  •   
  • Gem :: Dependency support#version_requirements =带有警告。修复旧的Rails版本。错误

          Lu

    27868。

  •   
  • Gem :: PackageTask依赖于包dir,就像另一个rake一样   包任务所以依赖可以   正确连接。

  •   
     
     

RubyGems安装了以下内容   可执行文件:           C:/郎/红宝石/斌/宝石

     

RubyGems系统软件已更新

     

C:> gem list --local |找到“rails”

     

rails(2.3.5)

答案 3 :(得分:1)

我会推荐你​​switch your project to use bundler,然后你就可以不用担心这个了。 It's easy (and well tested) to do with Rails 2.3.8it's designed to solve this problem

您的下一个最佳选择是install RVMuse gemsets。或者,您可以查看rip


(我知道这并没有直接回答你的问题 - 我打算将此作为评论发布,但是根据我想要的内容量,我唯一的选择是提供答案。)