Mail gem で POP3 でメールを受信しようとすると can't modify frozen String (FrozenError) と怒られる場合

現象

こんな感じのエラーが出ます。

$ bundle exec ruby awesome_pop3.rb
Traceback (most recent call last):
(中略)
/Users/foobar/.rbenv/versions/2.5.1/lib/ruby/2.5.0/net/pop.rb:808:in `block in pop': can't modify frozen String (FrozenError)

結論

Ruby 2.5.0 および Ruby 2.5.1 のバグ。

対応策

Ruby 2.4.4 あるいは Ruby 2.6.0-preview2 などにする*1

*1:って言うのは簡単ですが……

Powered by はてなブログ