Rails でメールを扱うのに ActionMailer が大活躍するが,この actionmailer gem は mail という gem に依存している。
mail gem は 2022 年 12 月 3 日にバージョン 2.8.0 がリリースされた。
早速 mail を 2.8.0 に上げたところ,Rails アプリが起動しなくなった。エラーメッセージには
Error: The application encountered the following error: cannot load such file -- /usr/local/rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/mail-2.8.0/lib/mail/indifferent_hash.rb (LoadError)
とある。
なかなか原因が分からなかった。「cannot load such file」(んなファイル,ロードできねえよ)と言われた indifferent_hash.rb は,ちゃんと存在しているし。
mail gem のリポジトリーを見に行くと,既に issue が上がっていた。
要するに一部のファイルの読み取りパーミションが適切でなかったために LoadError が出る,ということらしい。user は読取可だが,group と other は読取不可になっていた。
当該のファイルは三つあり,それらに読取パーミションを付加してやれば,とりあえずエラーは出なくなる(具体的な方法は上記 issue 参照)。
修正版がすぐにリリースされるんじゃないかとは思うけど。
追記 2022-12-28
ファイルのパーミションだけの問題だからすぐに修正バージョンが出るんだろうと思ってたけど,そんなことはなかった。
3 週間以上経つが気配もない。
こちらの issue
https://github.com/mikel/mail/issues/1541
を見ると,悲痛な叫びと言外のいらだちが感じられなくもない。
追記 2023-01-13
バージョン 2.8.0.1 がリリースされ,本件は解決したようだ。長かった。
関係者のみなさまに感謝。