mirror of
https://github.com/ditatompel/insights.git
synced 2025-01-08 03:12:06 +07:00
96 lines
3.3 KiB
Markdown
96 lines
3.3 KiB
Markdown
---
|
|
title: "Misskey NodeJS (NVM with PM2) update steps"
|
|
description: "Misskey is under heavy development and event minor update need higher version of NodeJS. In this article, I want to share my experience how to perform an update to Misskey instances which run using PM2 and NVM"
|
|
# linkTitle:
|
|
date: 2023-05-20T08:52:58+07:00
|
|
lastmod:
|
|
draft: false
|
|
noindex: false
|
|
# comments: false
|
|
nav_weight: 1000
|
|
# nav_icon:
|
|
# vendor: bootstrap
|
|
# name: toggles
|
|
# color: '#e24d0e'
|
|
series:
|
|
# - Tutorial
|
|
categories:
|
|
- SysAdmin
|
|
- Self-Hosted
|
|
tags:
|
|
- Misskey
|
|
- NodeJS
|
|
- NVM
|
|
- PM2
|
|
images:
|
|
# menu:
|
|
# main:
|
|
# weight: 100
|
|
# params:
|
|
# icon:
|
|
# vendor: bs
|
|
# name: book
|
|
# color: '#e24d0e'
|
|
authors:
|
|
- ditatompel
|
|
---
|
|
|
|
If you're following my article about [How to install Misskey in Ubuntu 22.04 (Manual Node.js and PM2 without Docker)]({{< ref "/tutorials/how-to-install-misskey-in-ubuntu-22-04-manual-without-docker/index.md" >}}), you may encounter some problem when trying to [update your Misskey instances](https://misskey-hub.net/en/docs/install/manual.htmlhow-to-update-your-misskey-server-to-the-latest-version).
|
|
|
|
<!--more-->
|
|
|
|
This because **Misskey** is under heavy development and event *minor* update need higher version of **Node.js**. For example, **Misskey** `13.10.3` was released in March, 25th, and it works well with **Node.js** `18.15`. Last week (May, 12th), *Misskey* `13.12.2` was released and need to be run using (at least) on **Node.js** `18.16`. In this article, I want to share my experience how to perform an update to **Misskey instances**.
|
|
|
|
## Install / update required dependencies for new version
|
|
First you need to know what is the [minimum requirement (dependencies)](https://misskey-hub.net/en/docs/install/manual.html#dependencies) for the latest *stable* version of **Misskey**, especially for **Node.js** version and **PostgreSQL**. I'll take example of upgrading **Misskey** from `13.10.3` to `13.12.2` which have different minimum requirement of **Node.js** version.
|
|
|
|
### Node.js
|
|
```shell
|
|
nvm install 18.16
|
|
use 18.16
|
|
```
|
|
Install `corepack` and enable it from your new **Node.js** version environment:
|
|
```shell
|
|
npm install -g corepack
|
|
corepack enable
|
|
```
|
|
|
|
### PM2
|
|
If you see _"In-memory **PM2** is out-of-date"_ message from *pm2* You may want to update your `pm2` package (optional):
|
|
|
|
1. Stop and delete all your current **pm2** process (see the processes with `pm2 ps` command):
|
|
```shell
|
|
pm2 delete nameOfProcess
|
|
```
|
|
2. If you using `systemd` to start the **pm2** process, **unstartup** it with `pm2 unstartup systemd` and execute the output from your shell.
|
|
```shell
|
|
pm2 unstartup systemd
|
|
```
|
|
3. Update and **re-enable pm2** process:
|
|
```shell
|
|
pm2 update
|
|
pm2 startup
|
|
```
|
|
|
|
Don't forget to execute the output of `pm2 startup` command.
|
|
|
|
## Update Misskey
|
|
After all required dependencies is installed, update the **Misskey** app itself. Navigate to your Misskey installation directory and execute these commands:
|
|
```shell
|
|
git checkout master
|
|
git pull
|
|
git submodule update --init
|
|
NODE_ENV=production pnpm install --frozen-lockfile
|
|
NODE_ENV=production pnpm run build
|
|
pnpm run migrate
|
|
```
|
|
|
|
Then re-run Misskey using PM2:
|
|
```shell
|
|
pm2 start "NODE_ENV=production pnpm run start" --name <your_process_name>
|
|
```
|
|
|
|
If you encounter any problems with updating, try to run `pnpm run clean-all` command and **retry the Misskey update process**.
|
|
|
|
|
|
|