RubyGems 导航菜单

博客

返回博客文章

3.2.3 发布

RubyGems 3.2.3 修复了宝石客户端中的一个长期存在的 bug。

gem install 现在不会尝试强制安装目标宝石的最新版本,如果当前 ruby 或 rubygems 版本不满足其 required_ruby_versionrequired_rubygems_version 要求。相反,它将尝试安装那些支持更新版本的宝石。

因此,在 ruby 2.4 上运行 gem install rails 现在安装 rails 5.2.4.4,这是支持 ruby 2.4 的最新 rails,而不是引发错误。

您可能需要使用以下内容之类的旧 ruby 更新您的工作流,来解决此问题

gem install bundler -v '~> 1.17'

事实上,当我们在 bundler 中放弃对旧 ruby 的支持并发布了 bundler 2 时,这意味着 gem install bundler 突然开始对仍然运行这些 ruby 的人失败了。

如果您使用以下内容更新这些工作流中的 rubygems:

gem update --system

您可以返回到先前的 gem install bundler,并且 rubygems 将采取正确的操作。

如果您需要升级或降级,请按照 如何升级/降级 RubyGems 说明进行操作。要手动安装 RubyGems,请参阅 下载 RubyGems 页面。

增强功能

  • 修复默认 API 密钥名称中的拼写错误。hsbt 提交的请求拉取 #4177

错误修复

  • 在查找 gem install 候选者时,遵守 required_ruby_versionrequired_rubygems_version 限制。deivid-rodriguez 提交的请求拉取 #4110

=== 3.2.2 / 2020-12-17

错误修复

  • 修复了一个问题,该问题会导致 CLI 命令向 rubygems.org 发出多个请求,所需 OTP 代码会崩溃或要求输入两次代码。sonalkr132 提交的请求拉取 #4162
  • 修复构建需要 openssl 的 rake 扩展。deivid-rodriguez 提交的请求拉取 #4165
  • 修复 gem update --system 显示过多变更日志条目。deivid-rodriguez 提交的请求拉取 #4145

=== 3.2.1 / 2020-12-14

增强功能

  • 在 gem server 命令中添加了 gem i webrick 的帮助消息。hsbt 提交的请求拉取 #4117

错误修复

  • 添加了与 load_specs 相同的文件实用工具的缺失加载。hsbt 提交的请求拉取 #4124
  • 修复 Resolver::APISet,使其在必要时始终包含预发布版本。deivid-rodriguez 提交的请求拉取 #4113

=== 3.2.0 / 2020-12-07

增强功能

  • 没有必要时,请不要覆盖内核警告。Eregon 提交的拉取请求 #4075
  • 更新 Gem 签入命令的端点。Sonalkr132 提交的拉取请求 #3840
  • 在命令帮助输出中省略弃用的命令。Landongrindheim 提交的拉取请求 #4023
  • 建议在 gem query 弃用时提供备选方案。Landongrindheim 提交的拉取请求 #4021
  • 延迟加载 timecgizlib。Deivid-rodriguez 提交的拉取请求 #4010
  • 在安装不依赖本地的 gemspec 时,不要访问网络。Deivid-rodriguez 提交的拉取请求 #3968
  • gem sources 命令添加 --force 选项。Andy-smith-msm 提交的拉取请求 #3956
  • 延迟加载 openssl。Deivid-rodriguez 提交的拉取请求 #3850
  • 比较平台时传递更多信息。Eregon 提交的拉取请求 #3817

错误修复

  • 为 rubygems 包中的文件使用更好的所有者和组。Deivid-rodriguez 提交的拉取请求 #4065
  • 改进 Gem 构建 -C 标志。Bronzdoc 提交的拉取请求 #3983
  • 处理 URI#merge 和缺少尾部斜杠的子路径中的意外行为。Drcapulet 提交的拉取请求 #3123
  • 在 rubygems 安装程序中添加缺少的 fileutils 要求。Deivid-rodriguez 提交的拉取请求 #4036
  • 修复 --platform 选项,因为 gem specification 被忽略。Deivid-rodriguez 提交的拉取请求 #4043
  • 公开 --no-minimal-deps 标志以安装最新版本的依赖项。Deivid-rodriguez 提交的拉取请求 #4030
  • 覆盖 Warning.warn 时修复“堆栈级别太深”错误。Eregon 提交的拉取请求 #3987
  • 仅当不存在时追加“.gemspec”扩展。Voxik 提交的拉取请求 #3988
  • 在使用 --build-root 时安装到正确的插件目录。Deivid-rodriguez 提交的拉取请求 #3972
  • 修复 Windows 下的 --build-root 标志。Deivid-rodriguez 提交的拉取请求 #3975
  • 修复针对 rubygems.org 本身的 typo_squatting? 报错。Andy-smith-msm 提交的拉取请求 #3951
  • 使 --default--install-dir 选项在 gem install 中一起正常使用。Deivid-rodriguez 提交的拉取请求 #3906

弃用

  • 弃用服务器命令。Bronzdoc 提交的拉取请求 #3868

性能

  • 构建扩展时,请不要更改 Ruby 进程 CWD。Deivid-rodriguez 提交的拉取请求 #3498

=== 3.2.0.rc.2 / 2020-10-08

增强功能

  • 使 –dry-run 标志在所有 rubygems 命令中保持一致。Bronzdoc 提交的拉取请求 #3867
  • 禁止将 downgrades 更新到过旧的版本。Pull request #3566,作者为 deivid-rodriguez
  • build 命令中添加 --platform 选项。Pull request #3079,作者为 nobu
  • 让“gem update –system”通过 --silent 标志。Pull request #3789,作者为 duckinator
  • 为缓存目录添加可写入检查。Pull request #3876,作者为 xndcn
  • 在规范中针对重复的依赖关系发出警告。Pull request #3864,作者为 bronzdoc
  • 修复 gem env 中的缩进。Pull request #3861,作者为 colby-swandale
  • 让更多的异常流动。Pull request #3819,作者为 deivid-rodriguez
  • 忽略 RubyGems 的 Kernel#warn 中的内部框架。Pull request #3810,作者为 eregon

错误修复

  • 添加缺少的 fileutils require。Pull request #3911,作者为 deivid-rodriguez
  • 当 PATH 包含 File::ALT_SEPARATOR 时,修复 Windows 上的误报警告。Pull request #3829,作者为 deivid-rodriguez
  • 修复 Kernel#warn 重写以处理带有 nil 路径的回溯位置。Pull request #3852,作者为 jeremyevans
  • 不要在 gem update --system 上格式化可执行文件。Pull request #3811,作者为 deivid-rodriguez
  • gem install --user 在系统插件目录上报错 Gem::FilePermissionError 。Pull request #3804,作者为 nobu

性能

  • 避免重复生成 APISpecification 对象。Pull request #3940,作者为 mame
  • 使用 frozen_string_literal: true 求值默认值。Pull request #3847,作者为 casperisfine
  • 在内存中对需求运算符进行重复数据删除。Pull request #3846,作者为 casperisfine
  • 优化 Gem.already_loaded?。Pull request #3793,作者为 casperisfine

=== 3.2.0.rc.1 / 2020-07-04

增强功能

  • 在 CI 中测试 TruffleRuby。Pull request #2797,作者为 Benoit Daloze。
  • 重新构建插件系统并加快 rubygems。Pull request #3108,作者为 David Rodríguez。
  • 指定明确的分隔符以避免受到 $; 的影响。Pull request #3424,作者为 Nobuyoshi Nakada。
  • 启用 Layout/ExtraSpacing 警察。Pull request #3449,作者为 David Rodríguez。
  • 回滚 gem 弃用。Pull request #3530,作者为 Luis Sagastume。
  • 规范 heredoc 分界符。Pull request #3533,作者为 David Rodríguez。
  • rake package 中将日志消息记录到 stdout。Pull request #3632,作者为 David Rodríguez。
  • 删除明确的 psych 激活。Pull request #3636,作者为 David Rodríguez。
  • 延迟 fileutils 加载以修复一些警告。Pull request #3637,作者为 David Rodríguez。
  • 确保 rubygems/package 可直接可靠地使用。Pull request #3670,作者为 Luis Sagastume。
  • 确保在调用 Dir.tmpdir 之前 tmp 文件夹存在。Pull request #3711,作者为 David Rodríguez。
  • 添加 Gem.disable_system_update_message 以在需要时禁用 gem update –system。Pull request #3720,作者为 Josef Šimánek。
  • 轻微调整以配合 ruby 核心设置。大卫·罗德里格斯的请求拉取 #3733。
  • 移除显式要求以自动加载常量。卡罗尔·布塞克的请求拉取 #3751。
  • 测试文件不应包含在 spec.files 中。马克-安德烈·拉福图纳的请求拉取 #3758。
  • 移除关于警告(在设置而不是推动时)TODO 评论。路易斯·萨加斯图姆的请求拉取 #2823。
  • 添加弃用命令方法。路易斯·萨加斯图姆的请求拉取 #2935。
  • 简化弃用命令方法。路易斯·萨加斯图姆的请求拉取 #2974。
  • 修复 Gem::LOADED_SPECS_MUTEX 处理以递归锁定。MSP-Greg 的请求拉取 #2985。
  • 添加 funding_uri 元数据字段至 gemspec。科尔比·斯旺代尔的请求拉取 #3060。
  • 更新某些旧的 gem 签名文档。蒂格·扎哈里亚的请求拉取 #3063。
  • 更新 Gem::Installer 的 gem 方法。丹尼尔·伯杰的请求拉取 #3137。
  • 简化初始 gem 帮助输出。奥利维尔·拉康的请求拉取 #3148。
  • 通过 gem 内容 解析最新版本。丹·赖斯的请求拉取 #3149。
  • 安装建议。索菲娅·卡斯特拉林的请求拉取 #3151。
  • 仅抢救我们其实想要抢救的错误。大卫·罗德里格斯的请求拉取 #3156。

错误修复

  • 在一些测试中不仅接受 /usr/bin/env,还接受 /bin/env。保科优介的请求拉取 #3422。
  • 跳过一项测试,该测试试图在 Solaris 中移除当前目录。保科优介的请求拉取 #3423。
  • 修复 Bundler 并行安装程序中的竞争条件。大卫·罗德里格斯的请求拉取 #3440。
  • 修复 #contains_requirable_file? 中的平台比较检查。Benoit Daloze 的请求拉取 #3495。
  • 改善缺失的 spec 错误。路易斯·萨加斯图姆的请求拉取 #3559。
  • 修复 Rubygems 更新程序的隐藏 Bundler 模板安装。大卫·罗德里格斯的请求拉取 #3674。
  • 修复 gem 更新 –user-install。路易斯·萨加斯图姆的请求拉取 #2901。
  • 当无法卸载时,更正冲突列表。大卫·罗德里格斯的请求拉取 #2973。
  • 修复试图使用已删除的“工作目录”查找 Bundler 时出现的错误。路易斯·萨加斯图姆的请求拉取 #3090。
  • 修复 -I 需要优先考虑。大卫·罗德里格斯的请求拉取 #3124。
  • 修复新插件布局的 ruby setup.rb。大卫·罗德里格斯的请求拉取 #3144。

弃用

  • 设置查询命令的弃用警告。路易斯·萨加斯图姆的请求拉取 #2967。

重大更改

  • 移除 Ruby 1.8 冗余。大卫·罗德里格斯的请求拉取 #3442。
  • Minitest 清理。 大卫·罗德里格斯的请求拉取 #3445。
  • 移除 gem 重新生成索引builder gem 要求。大卫·罗德里格斯的请求拉取 #3552。
  • 为了一致性而移除模型线。大卫·罗德里格斯的请求拉取 #3714。
  • 停止使用已弃用的 OpenSSL::Digest 常量。Bart de Water 的请求拉取 #3763。
  • 移除 Gem 模块的弃用方法。路易斯·萨加斯图姆的请求拉取 #3101。
  • 移除 ubygems.rb。路易斯·萨加斯图姆的请求拉取 #3102。
  • 移除 Gem::Commands::QueryCommand。由 Luis Sagastume 提交的 Pull Request #3104。
  • 移除依赖项安装程序已弃用的方法。由 Luis Sagastume 提交的 Pull Request #3106。
  • 移除 Gem::UserInteraction#debug 方法。由 Luis Sagastume 提交的 Pull Request #3107。
  • 移除 Gem::GemRunner.new 中的选项。由 Luis Sagastume 提交的 Pull Request #3110。
  • 移除已弃用的 Gem::RemoteFetcher#fetch_size。由 Luis Sagastume 提交的 Pull Request #3111。
  • 从 Gem::Exception 中移除 source_exception。由 Luis Sagastume 提交的 Pull Request #3112。
  • rubygems/source_specific_file 已弃用,应将其移除。由 Luis Sagastume 提交的 Pull Request #3114。

SHA256 校验和

  • rubygems-3.2.3.tgz
    a15dd7cd471a5fee2b6a36cf855ac2952a64d46629cd628b1a52c57bcebf52df
  • rubygems-3.2.3.zip
    2dee92f7f36a53079175ea77c2b43fa0dac2694ed9fff20dd275feca2956fdf3
  • rubygems-update-3.2.3.gem
    c6061457220fc4d90d8ce3e11f1185a217c16ee13370d5958c2b13b18bb632e8
David Rodríguez