XREA 新サーバ移行と ruby バージョンアップの影響

XREA というレンタルサーバを使っています。このレンタルサーバのインフラ更改が行われました。

リニューアルにおけるサーバーシステムの増強と移行について | お知らせ一覧 | XREA(エクスリア)

2022/09/12、xrea サーバがリニューアルされてとっても強くなりました。OSも最新化、さまざまなコンポーネントも最新化されました。

これにともない ruby もあたらしくなりました。2.3.8-p459 → 3.0.2-p107 です。

そしたら、現在使っている tdiary が動かなくなってしまいました。10日以上経ってようやく気付くという…

500 Internal Server Error
 Could not find rake-12.3.1 in any of the sources (Bundler::GemNotFound)

ruby 2.3 用に bundle の設定をしてあったので、その辺が全部動かなくなっていました。

良い機会なので tdiary も現時点での最新版にしました。 5.0.10 → 5.2.3 です。

さて共有サーバな XREA 環境で tdiary を動かそうとするとライブラリが微妙に足りなくて bundle install のエラーに遭遇しますのでそこだけメモ。

Gemtfile から twitter-text の行をコメントアウトして bundle install します。まずはコレで bundle install を完走させます。

共有サーバ環境に libidn が無いので、自分のホームディレクトリに libidn (x86_64 な linux の バイナリ) を置いておきます。

そして idn-ruby の gem だけインストールします。

bundle exec gem install idn-ruby -- --with-idn-lib=/HOME/USERNAME/libidn/lib64 --with-idn-include=/HOME/USERNAME/libidn/include

Gemtfile の twitter-text の行コメントアウトを戻して bundle install します。一通りエラーがなくなります。

つぎに web から tdiary を表示すると、json の gem バージョンに関するエラーが出るかと思います。

エラー画面に表示されたバージョンに固定するよう Gemfile を書き換えて bundle update でおわりです。

そしたら tdiary がサクサク動くようになってる!! 以前までのモッサリとはオサラバできてる!! すてき!!

過去同じようなことをやってましたのでリンク。

tDiary の記述スタイルを GFM に変更した - pudding - diary(2019-06-30)

gem で json 2.1 と json 1.8 が競合して困った - yet another pudding