🍣
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