Ruby Gems:新版发布并计划纳入Ruby 1.9中

Eric Hodel宣布发布了Ruby Gems的0.9.4.5版本,Ruby Gems是流行的Ruby打包管理系统。该版本是0.9.5的Beta发布版,增加了一些新的特性:

  • 平台gems的自动化安装
  • 新的更具对带宽和内存友好性的索引文件格式
  • “脱机”模式(--no-update-sources
  • 可以指定的批量更新阈值(-B--bulk-threshold
  • 新的gem fetch命令
  • 现在在你指定-v时,gem已经可提供非常翔实的输出
  • 与Ruby 1.9的兼容性

维护RubyForge的Tom Copeland解释了包索引方式的变化历程,它将增强Ruby Gems的可靠性

从前你可能在运行gem install时见到过这个消息:
$ gem install rails ERROR:  While executing gem ... (Gem::GemNotFoundException) Could not find rails (< 0) in any repository
然后当你在5分钟后运行“gem install rails”时,一切又正常了。这和当时我们在RubyForge上重建gem索引的方式有关——我们“刚好”在重建,所以当前的索引会被重写,在构建的过程完成之后才会被传递出去。这会持续一段合适的时间(大约10分钟左右),在这段时间内索引基本上是空的。嘘。

[……]Eric Hodel已经调整gem索引构建器,将其构建到一个临时目录,而后将其移到正确位置。所以那些gem索引的停歇已经成为历史。多谢了,Eric!

另一个变化改进了对内存的使用:

同时,Wilson Bilkovich增加了一种新的编组(Marshal)格式化的索引,这将减少带宽的使用和内存的消耗。现在使用编组式索引更新所耗的内存仅需30M左右,取代了原来120M左右的批量yaml索引更新。

如果想更新到Ruby Gems 0.9.4.5只需简单的执行:

gem update --system --source http://segment7.net/

Ruby 1.9兼容性相关的特性列表项暗示了Ruby Gems的未来:纳入到Ruby 1.9标准中。这源于笹田耕一(Sasada Koichi)过去发布于7月份的一个帖子:

Matz计划引入gem到Ruby1.9中。有人对此举有何建议吗?
- 可行性/引入的困难度(谁来维护gem?)
- 兼容性
- 以及其他问题

随之而来的讨论在十月份再一次回升,现在更关注于Ruby Gems在Ruby 1.9的本质细节。例如打包管理的名字和行为之类事情的规范正在持续讨论当中。

查看英文原文: Ruby Gems: new release and plans for inclusion in Ruby 1.9 译者简介:孙向晖,儿子小名“豆豆”,常被人称为“豆豆他爹”。1998年开始步入IT行业,现任浪潮软件质保中心副主任。专注于研究和实践MDA/UP/UML/SCM等相关技术在团队中的大规模应用,对产品化的软件项目管理、需求管理和配置管理略有心得。他的博客为 http://blog.csdn.net/xiaosun/。参与InfoQ中文站内容建设,请邮件至 china-editorial[at]infoq.com。

你可能感兴趣的:(Ruby Gems:新版发布并计划纳入Ruby 1.9中)