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 。
评论