Mise à jour 2.2.0 -> erreur

J’ai une instance PeerTube 2.1.0 (Debian 10, Node 10.19.0, sans Docker) qui marche. J’ai essayé de mettre à jour en 2.2.0-rc1 puis 2.2.0 avec upgrade.sh mais au lancement j’ai une erreur :

Jun 04 16:19:02 nestor systemd[1]: Started PeerTube daemon.
Jun 04 16:19:20 nestor peertube[3501]: npm WARN npm npm does not support Node.js v10.19.0
Jun 04 16:19:20 nestor peertube[3501]: npm WARN npm You should probably upgrade to a newer version of node as we
Jun 04 16:19:20 nestor peertube[3501]: npm WARN npm can't make any promises that npm will work with this version.
Jun 04 16:19:20 nestor peertube[3501]: npm WARN npm Supported releases of Node.js are the latest release of 4, 6, 7, 8, 9.
Jun 04 16:19:20 nestor peertube[3501]: npm WARN npm You can find the latest version at https://nodejs.org/
Jun 04 16:19:21 nestor peertube[3501]: > peertube@2.2.0 start /var/www/peertube/versions/peertube-v2.2.0
Jun 04 16:19:21 nestor peertube[3501]: > node dist/server
Jun 04 16:19:33 nestor peertube[3501]: internal/modules/cjs/loader.js:638
Jun 04 16:19:33 nestor peertube[3501]:     throw err;
Jun 04 16:19:33 nestor peertube[3501]:     ^
Jun 04 16:19:33 nestor peertube[3501]: Error: Cannot find module 'tsconfig-paths'
Jun 04 16:19:33 nestor peertube[3501]:     at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
Jun 04 16:19:33 nestor peertube[3501]:     at Function.Module._load (internal/modules/cjs/loader.js:562:25)
Jun 04 16:19:33 nestor peertube[3501]:     at Module.require (internal/modules/cjs/loader.js:692:17)
Jun 04 16:19:33 nestor peertube[3501]:     at require (internal/modules/cjs/helpers.js:25:18)
Jun 04 16:19:33 nestor peertube[3501]:     at Object.<anonymous> (/var/www/peertube/versions/peertube-v2.2.0/dist/server/helpers/register-ts-paths.js:4:23)
Jun 04 16:19:33 nestor peertube[3501]:     at Module._compile (internal/modules/cjs/loader.js:778:30)
Jun 04 16:19:33 nestor peertube[3501]:     at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
Jun 04 16:19:33 nestor peertube[3501]:     at Module.load (internal/modules/cjs/loader.js:653:32)
Jun 04 16:19:33 nestor peertube[3501]:     at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
Jun 04 16:19:33 nestor peertube[3501]:     at Function.Module._load (internal/modules/cjs/loader.js:585:3)
Jun 04 16:19:33 nestor peertube[3501]: npm ERR! code ELIFECYCLE
Jun 04 16:19:33 nestor peertube[3501]: npm ERR! errno 1
Jun 04 16:19:33 nestor peertube[3501]: npm ERR! peertube@2.2.0 start: `node dist/server`
Jun 04 16:19:33 nestor peertube[3501]: npm ERR! Exit status 1
Jun 04 16:19:33 nestor peertube[3501]: npm ERR!
Jun 04 16:19:33 nestor peertube[3501]: npm ERR! Failed at the peertube@2.2.0 start script.
Jun 04 16:19:33 nestor peertube[3501]: npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
Jun 04 16:19:33 nestor peertube[3501]: npm WARN Local package.json exists, but node_modules missing, did you mean to install?
Jun 04 16:19:33 nestor peertube[3501]: npm ERR! A complete log of this run can be found in:
Jun 04 16:19:33 nestor peertube[3501]: npm ERR!     /var/www/peertube/.npm/_logs/2020-06-04T14_19_33_404Z-debug.log
Jun 04 16:19:33 nestor systemd[1]: peertube.service: Main process exited, code=exited, status=1/FAILURE
Jun 04 16:19:33 nestor systemd[1]: peertube.service: Failed with result 'exit-code'.
Jun 04 16:19:34 nestor systemd[1]: peertube.service: Service RestartSec=100ms expired, scheduling restart.
Jun 04 16:19:34 nestor systemd[1]: peertube.service: Scheduled restart job, restart counter is at 3.
Jun 04 16:19:34 nestor systemd[1]: Stopped PeerTube daemon.

Du coup j’ai remis la 2.1.0, qui fonctionne encore.

C’est vraiment bizarre, on dirait que le script n’a pas installé correctement les node_modules: https://github.com/Chocobozzz/PeerTube/blob/develop/scripts/upgrade.sh#L74

Pouvez-vous réessayer de faire un yarn install --production --pure-lockfile en tant que PeerTube dans le dossier peertube-latest après l’upgrade ?

J’ai lancé cette commande plusieurs fois, mais il y a toujours des timeout pendant le téléchargement des paquets.

Avec --timeout 100000 ça passe, sauf que yarn lance une seconde commande yarn (dans client) qui ne prend pas en compte cette option. J’ai essayé de mettre httpTimeout dans yarnrc.yml mais ça semble ne rien changer. Je vais réessayer…

Ce n’est pas grave pour le client. En prod peertube n’a pas besoin de ces modules.

1 « J'aime »

Ça marche ! Merci !