Q. 久しぶりにメンテナンス記事を書いたな? A. Ruby 3.2.3アップデート時のメモを紛失して書けなかったから ということで、備忘録として残しておいた。 ## 大まかな手順 1. Mastodonユーザーに移動 2. 最新のMastodonバージョンにcheakout 3. インストールできるバージョンを確認する 4. 必要に応じてrbenv周辺のアップデート 5. Rubyのインストール 6. 環境変数に登録 ## 詳細な手順 ### 1. Mastodonユーザーに移動 ``` $ sudo su - mastodon ``` RubyはMastodon用のユーザーアカウントでインストールしているので([公式インストールマニュアル](https://docs.joinmastodon.org/admin/install/#installing-ruby)をよく見るとわかります)最初にMastodonユーザーに切り替える。 ### 2.最新のMastodonバージョンにcheakout ``` $ git fetch --tags $ git checkout <タグ名> ``` まずはMastodonのバージョンを最新のものに追従する。 ### 3. インストールできるバージョンを確認する 次にRubyのバージョン管理ツール`rbenv`を使って、インストールしているRubyとバージョンアップしたいRubyを調べる。 ``` $ rbenv versions $ rbenv install --list ``` `rbenv versions`は今インストールしているRubyのバージョン、`rbenv install --list`はインストールできるRubyのバージョンを調査する。この時、`rbenv install --list`を行った際に、最新のRubyのバージョンが出ないときがある。その時は手順4を経由すること。(`rbenv install --list`で最新バージョンがある場合、手順5に移動してOK) ### 4. rbenv周辺のアップデート 必要に応じて`rbenv`周辺のアップデートを行う。`rbenv`自体と、rbenvのプラグイン「`ruby-build`」のアップデートの2種類あるので注意。(だいたい`ruby-build`だけで済みますが) #### rbenvのアップデート ``` $ cd ~/.rbenv $ git pull ``` `.rbenv`フォルダーに移動して、pullすればOK。 #### ruby-buildのアップデート ``` $ cd ~/.rbenv/plugins/ruby-build $ git pull ``` `.rbenv/plugins/ruby-build`フォルダーに移動。同じくpullしてアップデートを行う。 アップデートが終わったらホームディレクトリに戻り、再度`rbenv install --list`を行う。最新バージョンのRubyが一覧に出てきます。 ### 5. Rubyのインストール 最新バージョンのRubyが一覧に載っていることを確認したら、最新のRubyのインストールを行う。 ``` $ RUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install <インストールしたいバージョン> ``` この際注意したいのが、`RUBY_CONFIGURE_OPTS`の設定を入れた状態でインストールを行うこと。忘れるとMastodonのビルドが失敗するので注意。 インストールが終わったら、最新バージョンを使う設定に切り替え。 ``` $ rbenv global <インストールしたバージョン> ``` これでRubyのインストールができたので、Mastodonのマイグレーションに移行。お疲れ様でした。 ## おまけ ### 不要になったRubyのアンインストール ``` $ rbenv uninstall <不要になったRubyのバージョン> ``` ## 関連記事 - [[Mastodon(kmyblue)のアップデートをおさらいする]] - [[WSL2を使ってローカルMastodon鯖を立てる]] メンテが不安なら、一度ローカルに鯖を立てて練習するといいかも。 ## 参考サイト - [Installing from source - Mastodon documentation](https://docs.joinmastodon.org/admin/install/) - [rbenv/ruby-buildのアップデート - Qiita](https://qiita.com/jhanyu/items/38671f7e9f03b77670c0)