I was trying to upgrade from Peertube 7.0.0 to 7.1.1. The upgrade note told me to run prune-storage. However, I got this error when running it:
peertube@peertube:~/peertube-latest$ NODE_CONFIG_DIR=/var/www/peertube/config/ NODE_ENV=production npm run prune-storage
> peertube@7.1.1 prune-storage
> LOGGER_LEVEL=warn node ./dist/scripts/prune-storage.js
file:///var/www/peertube/versions/peertube-v7.1.1/node_modules/execa/lib/utils/max-listeners.js:1
import {addAbortListener} from 'node:events';
^^^^^^^^^^^^^^^^
SyntaxError: The requested module 'node:events' does not provide an export named 'addAbortListener'
at ModuleJob._instantiate (node:internal/modules/esm/module_job:127:21)
at async ModuleJob.run (node:internal/modules/esm/module_job:191:5)
at async Promise.all (index 0)
at async ESMLoader.import (node:internal/modules/esm/loader:337:24)
at async loadESM (node:internal/process/esm_loader:88:5)
at async handleMainPromise (node:internal/modules/run_main:61:12)
Node.js v17.4.0
Following the upgrade note I upgraded my node.js to v20.19 before upgrading peertube to 7.1.1, and running node -v
the version is correct:
peertube@peertube:~/peertube-latest$ node -v
v20.19.0
However I have no idea why it used node 17.4.0 when running prune-storage. I don’t even know where this version 17.4.0 comes from. I had to manually run:
NODE_CONFIG_DIR=/var/www/peertube/config/ NODE_ENV=production /usr/bin/node ./dist/scripts/prune-storage.js
to successfully run this prune-storage script.
Any idea about why it called the wrong version of node? Again, I don’t even know where this node 17.4 comes from.