いろいろ面倒くさいので、この際、nodenvを使って切り替えましょうか。
nodejsとyarnをnodenvでインストールする
mastodonユーザーでログインした状態にします。
sudo -iu mastodon
nodenvを取ってきます。
git clone https://github.com/nodenv/nodenv.git ~/.nodenv cd ~/.nodenv && src/configure && make -C src
.bashrcの末尾に、nodenvのPATHと初期化を追記します。
nano ~/.bashrc
下記の内容を~/.bashrc
の末尾に追加します。
export PATH="$HOME/.nodenv/bin:$PATH" eval "$(nodenv init -)"
一旦シェルを抜けて、もう一度入り直して……
logout sudo -iu mastodon
node installできるようにプラグインを追加します。
mkdir -p "$(nodenv root)"/plugins git clone https://github.com/nodenv/node-build.git "$(nodenv root)"/plugins/node-build
一緒にyarnをインストールできるようにするプラグインを追加します。
git clone https://github.com/pine/nodenv-yarn-install.git "$(nodenv root)/plugins/nodenv-yarn-install"
nodenvをupdateするためのプラグインを追加します。
git clone https://github.com/nodenv/nodenv-update.git "$(nodenv root)"/plugins/nodenv-update
nodenvでインストールできるバージョン一覧を確認して……
nodenv install -l
いまだと10.23.0か12.19.0ですかね。
nodenv install 12.19.0
liveの一つ上、mastodonユーザーのホームディレクトリで、ローカルバージョンを指定。
nodenv local 12.19.0
これで~/.node-version
というファイルが作成されて、中にバージョン番号が書き込まれる。
ここで、nodeのバージョンを確認しておく。
node -v
これでyarn install
が通るようになるハズ。
cd live yarn install --pure-lockfile
systemdのstreamingの設定を変更する
systemdで起動するstreaming、そのままだとシステムのnodeを使うので、さっきnodenvで入れたnodeを方を使うように変更します。
sudo -e /etc/systemd/system/mastodon-streaming.service
ExecStart=/usr/bin/node ./streaming
をExecStart=/home/mastodon/.nodenv/shims/node ./streaming
に変更します。
streaming再起動。
sudo systemctl restart mastodon-streaming
アップデートする時
nodeもyarnもバージョンあがるので、updateします。 mastodonユーザーで作業です。
sudo -iu mastodon nodenv update
あとは、インストールした時と同じで、入れられるバージョン確認して、installして、localして、liveでyarn installする感じです。