charlock_holmes 0.7.5 がインストールできない

状況

Mastodon を動かしているサーバで Ruby や gem のアップデートを行いました。
以前ハマった記憶があったので、bundle ディレクトリを削除してから bundle install し直します。

rm -rf /path/to/mastodon/vendor/bundle
setenv RAILS_ENV production
bundle install

順調に進むと思いきや、charlock_holmes のインストールで以下のようなエラーがずらずらと出てしまいました。

transliterator.cpp:39:3: error: unknown type name 'StringEnumeration'; did you mean 'icu::StringEnumeration'?
  StringEnumeration *id_list;
  ^~~~~~~~~~~~~~~~~
  icu::StringEnumeration

gem install charlock_holmes -v '0.7.5' してみたら、というようなメッセージが出ていましたが同様のエラーでした。

解決方法

エラーメッセージで調べた結果、どうも 0.7.6 で解決しているようでした。
試しに以下のように実行したらすんなりインストールされました。

gem install charlock_holmes -v '0.7.6'

Gemfile.lock ファイルで charlock_holmes (0.7.5) の記述を見つけて、数字を 0.7.6 に書き換えて解決しました。

この辺りは慣れていないと一つ一つ調べる事になるのでなかなか時間がかかりますね。

FreeBSD,technical

Posted by yokky