Mastodon・Misskey・Firefishすべてにおいて重要になってくるのが「Node.js」。アプリのビルドをしても「502」になってしまう、journalctl
でjsエラーをはいてたら真っ先にこいつを疑いましょう。
ということで、今回はそのNode.jsのアップデート方法をメモしておきます。
はじめてのアップデートに行うもの
Node.jsの参照元を変更する
2023年9月ごろ?からNode.jsの配布元が変わっています。
- Mastodonのインストールマニュアルは2023年12月27日にURLが変更済み
- Misskeyのインストールスクリプトは2023年12月23日のアップデート変更済み
- Firefishは2023年12月29日現在まだ変更されてない
よって上記の日付より前にインストールした方は、今の配布元URLからURLを変更する必要あります。
$ sudo rm /usr/share/keyrings/nodesource.gpg
$ curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/nodesource.gpg
$ NODE_MAJOR=20 echo "deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
$ sudo apt update
$ sudo apt install -y nodejs
Misskeyをはじめよう【公式】 (@joinmisskey) | Misskey.ioより引用。
Node.jsの管理パッケージ「n」を導入する
上記の方法だと、その場合強制的に安定板の最新版がインストールされます。その場合、「最新のNode.jsだとバグが起きるのでその1・2個前のバージョンでインストールしろ」という機会が多々出てくるため、バージョン指定でインストールできるnをインストールしておきます。
$ npm install -g n
npmはすでに入っていると思うので、これですんなりいけるはず。
Node.jsのアップデート
$ n --stable
基本はstable
でおk。stableは安定版(偶数)をインストールします。latestは最新版(奇数)をインストールするので注意。
もしバージョンを指定してインストールしたい場合は、下記コマンドでバージョンを指定してインストール。
$ n (インストールしたいバージョン)
インストールが終わったら下記のコマンドを入力します。
$ n ls
$ n
$ n rm (不要なバージョン)
n ls
で今入ってるNode.jsのバージョンを確認、n
でバージョンの切り替え、n rm
で不要なバージョンを削除します。
これでNode.jsのアップデートは終了です。このあと改めてMastodon・Misskey・Firefishのアップデート(マイグレーション)してみましょう。
余談:安定板・最新版のリストを定期的に確認する
Node.jsもリリーススケジュールがあり、定期的に安定板・最新版のメジャーアップデートがあります。そのため定期的にリリーススケジュールを確認しておきましょう。
最後に
Node.jsアップデート周りで助言をしてくれたおこめちゃんとタクトさんに、この場をもってお礼をしたいと思います。ありがとう!