博客
返回博客文章
2008 年 6 月 21 日
1.2.0 已发布
作者:Rubygems 机器人 fred
新功能
- RubyGems 不再执行批量更新,而只获取它所需的 gemspec 文件。其他源需要升级到 RubyGems 1.2,以允许 RubyGems 利用新的元数据更新程序。如果源列表中存在 1.2 之前的远程源,RubyGems 将恢复到批量更新代码以兼容。
- RubyGems 现在具有运行时和开发依赖项类型。使用
#add_development_dependency
和#add_runtime_dependency
。所有无类型的依赖项都被视为运行时依赖项。 - 如果存在,RubyGems 现在将需要
rubygems/defaults/operating_system.rb
和rubygems/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