🍣
Node.JSをアップデートしてMisskeyを壊したので直した
とりあえずの経緯
5W1H | Description |
---|---|
いつ | 2023/09/18 20時過ぎ |
どこで | 自宅 |
誰が | 私自身 |
何を | 互換性を考えずNode.JSのバージョンを上げてしまった |
なぜ | 最新のバージョンが良いな!と思った |
どのように | 覚えていない←ヤバい |
といったアホみたいなことをやってしまった。
どのように直したか
ひとまず、Node.JSのバージョンを下げることで解決した。
具体的にはNode.JSはv20.5.0がよいと助言を頂いたのでソレを実行。
ひとまずnodejs, npm
をすべてアンインストールした上で作業している。
アンインストール
sudo apt purge --remove nodejs npm
n を用いてInstallした場合は以下のコマンドで削除 参考資料
sudo rm -rf /usr/local/bin/node
sudo rm -rf ~/.npm
再インストール 参考資料
sudo apt install nodejs npm
Node.JSをnで管理させるため置き換えた上でv20.5.0をインストール
sudo npm install n -g
sudo n 20.5.0 # 今回はv20.5.0を指定している。バージョンが異なる場合は適宜変更すること
sudo apt purge --remove nodejs npm
おそらくこれで解決するはず。
途中で詰まったこと
aptからNode.JSとnpmをインストールしようとしたらdependency errorが出た
このサイトみたいなエラーが出たわけだが、結局サイトを参考にしても治らなかった。
そこでaptitude
を用いて依存関係の処理を委ねて解決した。
sudo apt install aptitude
sudo aptitude install nodejs npm
# その後はY, nを適宜選択していく
Node.JSを再インストールしたらDaemonを用いてMisskeyが起動しなくなった
なんでか/usr/local/bin/npm
を指定しても/usr/bin/npm
を指定しても起動しなかった。
そこで公式ドキュメントの実験起動NODE_ENV=production pnpm run start
を参考にしてExecStart
を書き換えたところ起動した。
以下は私の環境のDaemon Serviceである。
参考程度に
まとめ
- Node.JSのバージョンを上げるときは互換性を考えて上げること。
- また、Node.JSのバージョンを上げるときは
n
を用いて管理すること。 - 無闇矢鱈に実行すると後から色々と面倒なことになるので注意すること。
以上
Discussion