博客
返回博客文章
2014 年 6 月 10 日
2.3.0 已发布
RubyGems 2.3.0 包含细微改进和 bug 修复。
要更新到最新的 RubyGems,可以运行
gem update --system
如果您需要升级或降级,请按照 如何升级/降级 RubyGems 的说明进行操作。若要手动安装 RubyGems,请参阅 下载 RubyGems 页面。
细微改进
- 添加
open
命令,它允许你使用编辑器检查 gem 的源代码。问题 #789,由 Mike Perham 提出。请求拉取 #804,由 Vitali F. 提出。 update
命令显示了更新和未更新的 gem 的摘要。问题 #544,由 Mark D. Blackwell 提出。请求拉取 #777,由 Tejas Bubane 提出。- 改进了“找不到 ‘gem’”错误报告。请求拉取 #913,由 Richard Schneeman 提出。
- Gem.use_gemdeps 现在接受指定 gem 依赖项文件路径的参数。如果未找到该文件,则引发 ArgumentError。
- 为 gem 依赖项文件编写 .lock 文件现在由 –[no-]lock 选项控制。请求拉取 #774,由 Jeremy Evans 提出。
- 可以使用 –no-suggestions 选项禁止在安装过程中建议使用其他名称和拼写更正。问题 #867,由 Jimmy Cuadra 提出。
- 添加了对 mswin64 的支持。请求拉取 #881,由 U. Nakamura 提出。
- gem 可以再次从 IO 处安装(就像 RubyGems 1.8.x 和更早版本一样)。请求拉取 #716,由 Xavier Shay 提出。
- RubyGems 不再尝试在激活期间构建扩展。相反,会发出一个警告,指导你运行
gem pristine
,它将为当前平台构建扩展。问题 #796,由 dunric 提出。 - 添加了 Gem::UserInteraction#verbose,它在提供 –verbose 选项时打印。请求拉取 #811,由 Aaron Patterson 提出。
- 现在,RubyGems 可以使用 S3 从私有存储库中获取 gem。请求拉取 #856,由 Brian Palmer 提出。
- 添加了 Gem::ConflictError Gem::LoadError 的子类,以便你可以将冲突与其他问题区分开来。请求拉取 #841,由 Aaron Patterson 提出。
- 清理了 Rakefile 中不需要的 load_yaml 引导。请求拉取 #815,由 Zachary Scott 提出。
- 改进了冲突解决的性能。请求拉取 #842,由 Aaron Patterson 提出。
- 为 Gem::Version 添加了“~> 0”的文档。问题 #896,由 Aaron Suggs 提出。
- 添加了 CONTRIBUTING 文件。请求拉取 #849,由 Mark Turner 提出。
- 允许在 .bat 的 windows_stub_script 中使用 bindir 请求拉取 #818,由 @unak 和 @nobu 提出。
- 使用本地的 File::PATH_SEPARATOR 并移除 Gem::Dependency#to_specs 上 gem 环境之前的 $。拉取请求 #915,作者:@parkr
- RubyGems 现在建议为许可证使用 SPDX ID。拉取请求 #917,作者:Benjamin Fleischer。
错误修复
- RubyGems 现在仅获取最新规范来查找拼写错误,这会加速 gem 建议。拉取请求 #808,作者:Aaron Patterson。
- 当当前目录中存在多个相同 gem 的版本时,将再次安装给定的 .gem。臭虫 #875,作者:Prem Sichanugrist。
- 同名情况下,本地 gems 再次优于远程 gem。臭虫 #834,作者:jonforums。
- RubyGems 可以再次安装本地预发布 gem。拉取请求 #866,作者:Aaron Patterson。问题 #813,作者:André Arko。
- RubyGems 再次正确安装开发依赖项。问题 #893,作者:Jens Wille。
- RubyGems 再次仅在请求时安装预发布版本。问题 #853,作者:Seth Vargo,特别感谢 Zachary Scott 和 Ben Moss。问题 #884,作者:Nathaniel Bibler。
- 修复了 RubyGems 列出和搜索命令帮助。拉取请求 #905 和 #928,作者:Gabriel Gilder。
- 现在始终对要卸载的 gem 列表进行排序。臭虫 #918,作者:postmodern。
- 现在,update 命令仅更新完全匹配的 gem 名称。臭虫 #919,作者:postmodern。
- Gem::Server 现在支持预发布版本。臭虫 #857,作者:Marcelo Alvim。
- 在使用 RUBYGEMS_GEMDEPS 时 gem 丢失的情况下,RubyGems 不再立即引发异常。而是会打印一条警告。问题 #886,作者:Michael Kaiser-Nyman。
- 在选取非 rubygems API 密钥时,使用 rubygems.org API 的命令不再尝试登录。臭虫 #826,作者:Ben Sedat。
- 更新了 Gem::Specification#executables 的文档,以说明仅允许使用 ruby 脚本。臭虫 #830,作者:Geoff Nixon。
- 现在,gem 依赖项 API 支持 #platform 和 #platforms 的多个平台。臭虫 #821,作者:johnny5-。
- 现在,gem 依赖项 API 支持无明确来源的 lockfile。臭虫 #820,作者:johnny5-。
- 现在,gem 依赖项 API 支持具有多个来源的 lockfile。臭虫 #822,作者:johnny5-,臭虫 #851,作者:sumit shah。
- 现在,gem 依赖项 API 支持使用分支、标签和 ref 的 git 来源的 lockfile。臭虫 #822,作者:johnny5-,#931,作者:Christoph Blank。
- 当 gem 在配置的某个来源中不存在时,gem 依赖项 API 不再引发异常。臭虫 #897,作者:Michael Kaiser-Nyman。
- 现在,gem 依赖项 API 不再在 lockfile 中列出开发依赖项。臭虫 #768,作者:Diego Viola,#916,作者:Santiago Pastorino。
- ~/.gemrc 中的 SSL 配置条目已正确反复循环。臭虫 #837,作者:Noah Luck Easterly。
- 现在,environment 命令显示 all-users gemrc 所在的系统配置目录。臭虫 #827,作者:Ben Langfeld。
- 改善了激活 gem 时冲突检查的速度。拉取请求 #843,作者:Aaron Patterson。
- 改善了 gem 建议拼写错误的 Levenshtein 距离的速度。拉取请求 #809 和 #812,作者:Aaron Patterson。
- 恢复了持久连接。拉取请求 #869,作者:Aaron Patterson。
- 通过 bundler API 获取 gem 时减少了请求次数。Charlie Somerville 的拉取请求 #773。
- 减少了依赖项预取以提高安装速度。Matthew Draper 的拉取请求 #871、#872。
- RubyGems 现在避免了 net/http 自动代理检测。HINOHARA Hiroshi 的问题 #824。
- 除非必要,否则不再将 Gem::List(用于调试安装)转换为字符串。Aaron Patterson 的拉取请求 #870。
- RubyGems 现在将打印当前版本的发布说明。André Arko 的错误 #814。
- RubyGems 再次允许安装未签名 gem,使用了 -P MediumSecurity 和更低的选项。Justin S. Collins 的错误 #859。
- 修复了 Jim Weirich 姓名中的错别字。Mo Khan 的 Ruby 拉取请求 #577。
- 修复了 Gem.datadir 文档中的错别字。Patrick Jones 的拉取请求 #868。
- 修复了 File.exists? 警告。SHIBATA Hiroshi 的拉取请求 #829。
- 修复了 LANG=C 下的 show_release_notes。Luis Lavena 的问题 #862。
- 修复了 windows 上的 Gem::Package from IO 测试。Luis Lavena 的问题 #861 的补丁程序。
- BasicSpecification 没有对 nil 扩展进行检查,需要对其进行初始化检查。André Arko 的拉取请求 #882。
- 修复了 Gem::BasicSpecification#require_paths 针对 @require_paths 接收字符串的情况。@danielpclark 的拉取请求 #904。
- 修复了循环 require 警告。Zachary Scott 的错误 #908。
- Gem::Specification#require_paths 不再会意外成为一个数组。Daniel P. Clark 的拉取请求 #904、#909。
- 如果
build_dir/extensions
不可写,则不要编译扩展。@dunric 的拉取请求 #912。 - 目前,Gem::BasicSpecification#require_paths 遵循 default_ext_dir_for。Vít Ondruch 的错误 #852。