博客
返回博客文章
2020 年 12 月 22 日
3.2.3 发布
RubyGems 3.2.3 修复了宝石客户端中的一个长期存在的 bug。
gem install
现在不会尝试强制安装目标宝石的最新版本,如果当前 ruby 或 rubygems 版本不满足其 required_ruby_version
或 required_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_version
和required_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 - 延迟加载
time
、cgi
和zlib
。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