🌐

webmock 3.16.0がyankされたので3.16.2にアップグレード

2022/08/22に公開

Tl; Dr

  • webmockの3.16.0のバージョンをインストールしようとするとエラーになる
  • webmockの3.16.0がyankedになっていたので、gemのアナウンス通り3.16.2を指定してインストールするようにした

内容

エラーが起きる

  • ある日突然、以下のようなエラーが起きbundle installに失敗するようになった
  • 内容を見ると、webmock (3.16.0) が消されていそうなことがわかった
== Installing dependencies ==
Fetching gem metadata from https://rubygems.org/.......
Your bundle is locked to webmock (3.16.0) from rubygems repository https://rubygems.org/ or installed locally, but that version
can no longer be found in that source. That means the author of webmock (3.16.0) has removed it. You'll need to update your
bundle to a version other than webmock (3.16.0) that hasn't been removed in order to install.

== Command ["bundle install"] failed ==
ERROR: 1
ERROR: Command 'dip bash -c ./bin/setup' executed with error.

webmockの調査

  • webmockのgemのGitHubを見ると、3.16.0がyankedになっていた
  • さらに、「3.15.0と3.16.0はyankされたから、3.15.2か3.16.2(もしくは最新の3.17.1)を使ってね」というissueが切られていた
    • gemspecが要求するRubyバージョンは2.0以上だが、3.15.0や3.16.0はRuby2.3以上じゃないと動かず互換性がなくなってしまうので、yankしたとのこと

https://github.com/bblimke/webmock/issues/996
https://github.com/bblimke/webmock/blob/master/CHANGELOG.md#3160-yanked

対応

  • gemのアナウンス通り、Gemfileで以下のようにバージョン 3.16.2を指定するようにした
  • すると、無事bundle installが完了するようになった
gem 'webmock', '~> 3.16.2'

Discussion