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 がサクサク動くようになってる!! 以前までのモッサリとはオサラバできてる!! すてき!!
過去同じようなことをやってましたのでリンク。