【Rails】mimemagicに依存しているRailsアプリでbundle installコマンドが失敗する事象の対処法

2021年10月14日 15:16

はじめに

Railsアプリでbundle installコマンドを実行しようとしたところ、以下のエラーメッセージが出力されコマンドに失敗しました。

Your bundle is locked to mimemagic (0.3.5), but that version could not be found
in any of the sources listed in your Gemfile. If you haven't changed sources,
that means the author of mimemagic (0.3.5) has removed it. You'll need to update
your bundle to a version other than mimemagic (0.3.5) that hasn't been removed
in order to install.

バンドルはmimemagic(0.3.5)にロックされていますが、そのバージョンはGemfileにリストされているソースのいずれにも見つかりませんでした。 ソースを変更していない場合は、mimemagic(0.3.5)の作成者がソースを削除したことを意味します。 インストールするには、バンドルをmimemagic(0.3.5)以外の削除されていないバージョンに更新する必要があります。

Ruby on Railsの機能のひとつであるActive StorageがmimemagicというGemに依存しています。そのmimemagicがGemfileに記述されているソース(rubygems.org)で見つからなかったとのことです。ソースは変更していないので、rubygems.orgからmimemagicが削除されたということになります。

原因

mimemagicを巡る問題については、経緯など含め以下のページにて詳しくまとめられています。

ライセンス関連の問題により、rubygems.orgからmimemagicが削除されてしまったことが原因のようです。

対処

mimemagicに依存しなくなったRails 5.2.5 / 6.0.3.6 / 6.1.3.1にバージョンアップすることによりbundle installコマンドが実行できるようになります。

GemfileのRailsを任意のバージョンに変更します。

Gemfile

gem 'rails', '~> 6.1.3.1'

以下のコマンドを実行します。

$ bundle update

まとめ

mimemagicを巡る問題は2021年3月頃から発生していたようです。今の今までbundle installコマンドを実行する機会がなかったので気づきませんでした。なお、Railsをバージョンアップしたくない場合の対処法については上記の記事を参照してください。

本記事を参考にしていただければと思います。

関連記事

【Rails】ダウンロードしたフリーフォントをWebpackerを使って導入する方法
# はじめに Webサイトのデザインを彩るひとつの要素にフォントの種類があります。Google Fontsの登場により、様々なフォントが手軽に導入できるようになりました。しかし、世の中にはGoogle Fontsが提供するフォント以外にもたくさん [...]
2021年10月16日 13:26
【Rails】macOSのアップデート後にrailsコマンドが失敗する事象の対処法
# はじめに 久しぶりにRailsアプリに手を入れようと思い、`rails server`コマンドを実行してRailsサーバーを立ち上げようとしたところ、エラーが出て起動に失敗してしまいました。 前回までの間にしたことの中で思い当たることと [...]
2021年10月14日 12:11
【Rails】Railsアプリのデバッグ《マルチデバイス篇》
# はじめに 近年のWebアプリはレスポンシブ対応が当たり前になっています。最低でもPCとスマートフォンに対応したデザイン、ときにはその中間のタブレットに対応したデザインなんかも作成する必要があります。 Webアプリの開発はPCを使って行う [...]
2021年5月23日 13:02
【Rails】Railsアプリのデバッグ《Better Errors篇》
# はじめに Railsアプリの開発中になんらかのエラーが発生すると、デフォルトでは以下のような画面が表示されます(画像をクリックすると拡大します)。 <a class="gallery" data-group="gallery" href [...]
2021年5月22日 19:42
【Rails】Railsアプリのデバッグ《byebug篇》
# はじめに Ruby on Railsに限りませんが、アプリの開発中にはエラーは付き物です。なにかしらのエラーが発生したときに、エラーの原因を特定しエラー箇所を修正することをデバッグと言います。Railsではデバッグの手助けとなる機能があらかじ [...]
2021年5月22日 15:30