RubyGems 导航菜单

博客

返回博客文章

1.2.0 已发布

新功能

  • RubyGems 不再执行批量更新,而只获取它所需的 gemspec 文件。其他源需要升级到 RubyGems 1.2,以允许 RubyGems 利用新的元数据更新程序。如果源列表中存在 1.2 之前的远程源,RubyGems 将恢复到批量更新代码以兼容。
  • RubyGems 现在具有运行时和开发依赖项类型。使用 #add_development_dependency#add_runtime_dependency。所有无类型的依赖项都被视为运行时依赖项。
  • 如果存在,RubyGems 现在将需要 rubygems/defaults/operating_system.rbrubygems/defaults/#{RBX_ENGINE}.rb。这允许打包程序和 ruby 实现者通过这些文件为 RubyGems 添加自定义行为。(如果 RubyGems API 不足,请通过 RubyGems 列表建议进行改进。)
  • /etc/gemrc(及其 Windows 等效项)用于全局设置
  • setup.rb 现在为打包程序处理 –vendor 和 –destdir
  • gem stale 命令,按最后访问时间列出宝石

已修复的错误

  • 现在尊重宝石的文件模式,补丁 #19737
  • 现在可以加载来自未来的 Marshal Gem::Specification 对象。
  • 现在会在缺少时向远程源添加一个尾随 /,错误 #20134
  • 现在将正确卸载具有旧平台的宝石,补丁 #19877
  • gem install --no-wrappers,然后是 gem install --wrappers,不再覆盖可执行文件
  • gem pristine 现在强制重新安装宝石,错误 #20387
  • 在从磁盘加载 .gemspec 文件时,RubyGems 会优雅地处理 ^C,错误 #20523
  • 在更多地方扩展了路径,错误 #19317、错误 #19896
  • Gem::DependencyInstaller 在每次安装时都会重置已安装的宝石,错误 #19444
  • 现在,如果未设置 GEM_PATH,将尊重 Gem.default_path,补丁 #19502

其他更改包括

  • setup.rb
    • 不再删除 RubyGems 0.7.x 及更早版本创建的存根文件。从这些旧版本升级时,先升级到 1.1.x 以清理存根。
    • 不再需要 RDoc,直到有必要时才需要,补丁 #20414
  • gem server
    • 现在完全匹配 gem generate_index 的输出,并具有正确的内容类型
    • 每次搜索都会从源目录刷新。安装 gem 后不再需要重新启动服务器。
  • gem query --details 及相关命令现在会显示作者、主页、rubyforge URL 及已安装位置
  • 如果依赖项在 GEM_PATH 中而不在 GEM_HOME 中,则 gem install 在没有 -i 的情况下不再重新安装依赖项
  • Gem::RemoteFetcher 现在会针对 HEAD 请求执行持续连接,错误编号 #7973
fred, the rubygems robot