noellabo's tech blog

@noellaboの技術ブログ

Mastodon v3.1.0、node v10.13以上が必要だってよ

いろいろ面倒くさいので、この際、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 ./streamingExecStart=/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する感じです。