Je viens de mettre à jour deux instances peertube. Sur l’une d’elle, je ne peux plus importer de vidéos via un lien youtube après la màj. Le problème est probablement du côté de youtube-dl.
J’ai une erreur dans l’interface peu importe le lien youtube utilisé :
### Erreur
Cannot fetch remote information of this URL.
J’ai mis à jour les deux instances de la même manière (càd en suivant la doc). La seule différence est que l’une passait de la 3.0.1 vers la 3.2.1 (celle où le bug est apparu) et l’autre de la 3.1 à la 3.2.1.
Tentez de réinstaller les node_modules (sudo -H -u peertube rm -rf node_modules client/node_modules && sudo -H -u peertube yarn install --pure-lockfile) car il semble que le binaire youtube-dl n’existe pas (/var/www/peertube/versions/peertube-v3.2.1/node_modules/youtube-dl/bin/youtube-dl)
C’est sans doute cela. Je vais voir côté hébergement.
Y a-t-il des solutions de contournement faciles à mettre en place ? Est-ce envisageable de récupérer les dépendances sur une installation locale puis de les envoyer sur le serveur manuellement ?
Au passage : contrairement à ce que je disais dans mon premier message (je ne peux plus le modifier), les deux instances peertube sont touchées de la même manière.
J’ai essayé de mettre à jour yarn qui est actuellement :
$ yarn -v
1.22.5
Résultat :
$ sudo -u peertube npm install --global yarn
npm WARN checkPermissions Missing write access to /usr/lib/node_modules
npm ERR! code EACCES
npm ERR! syscall access
npm ERR! path /usr/lib/node_modules
npm ERR! errno -13
npm ERR! Error: EACCES: permission denied, access '/usr/lib/node_modules'
npm ERR! [Error: EACCES: permission denied, access '/usr/lib/node_modules'] {
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'access',
npm ERR! path: '/usr/lib/node_modules'
npm ERR! }
npm ERR!
npm ERR! The operation was rejected by your operating system.
npm ERR! It is likely you do not have the permissions to access this file as the current user
npm ERR!
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator.
npm ERR! A complete log of this run can be found in:
npm ERR! /var/www/peertube/.npm/_logs/2021-07-12T09_35_26_737Z-debug.log
Permissions :
:/var/www/peertube/versions/peertube-v3.2.1$ ls -la
total 520
drwxr-xr-x 8 peertube peertube 4096 juil. 12 11:32 .
drwxr-xr-x 4 peertube peertube 4096 juin 14 16:49 ..
drwxr-xr-x 4 peertube peertube 4096 juil. 12 11:34 client
drwxr-xr-x 2 peertube peertube 4096 juin 14 17:07 config
-rw-r--r-- 1 peertube peertube 8773 juin 1 11:08 CREDITS.md
drwxr-xr-x 5 peertube peertube 4096 juin 1 11:12 dist
-rw-r--r-- 1 peertube peertube 38 mai 28 13:51 FAQ.md
-rw-r--r-- 1 peertube peertube 34520 avril 10 2019 LICENSE
drwxr-xr-x 945 peertube peertube 36864 juil. 12 11:34 node_modules
-rw-r--r-- 1 peertube peertube 7456 juin 1 11:03 package.json
-rw-r--r-- 1 peertube peertube 9963 juin 1 11:08 README.md
drwxr-xr-x 10 peertube peertube 4096 juin 1 11:08 scripts
drwxr-xr-x 10 peertube peertube 4096 août 12 2020 support
-rw-r--r-- 1 peertube peertube 813 août 12 2020 tsconfig.json
-rw-r--r-- 1 peertube peertube 382201 mai 28 13:51 yarn.lock
Avec simplement sudo (j’hésite à rajouter --force) :
$ sudo npm install --global yarn
> yarn@1.22.10 preinstall /usr/lib/node_modules/yarn
> :; (node ./preinstall.js > /dev/null 2>&1 || true)
npm ERR! code EEXIST
npm ERR! syscall symlink
npm ERR! path ../lib/node_modules/yarn/bin/yarn.js
npm ERR! dest /usr/bin/yarn
npm ERR! errno -17
npm ERR! EEXIST: file already exists, symlink '../lib/node_modules/yarn/bin/yarn.js' -> '/usr/bin/yarn'
npm ERR! File exists: /usr/bin/yarn
npm ERR! Remove the existing file and try again, or run npm
npm ERR! with --force to overwrite files recklessly.
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2021-07-12T09_39_04_613Z-debug.log
Dernier info de mon côté : sur une des deux VM, le fichier :/var/www/peertube/peertube-latest/node_modules/youtube-dl/bin/youtube-dl (ainsi qu’un fichier « details ») est réapparu !
Il semble que ce fichier soit modifié (régénéré ?) tous les jours à 19:19 (hier il indiquait le 11 juillet).
Pour l’autre VM sur laquelle j’ai pourtant passé les mêmes commandes, pas de fichier en question. Si je déplace manuellement un fichier récupéré en local, ça fonctionne mais j’imagine qu’il y a peut-être d’autres dépendances que ytdl qui manquent.
info[12/07/2021 à 19:19:54] Updating youtubeDL binary.info[12/07/2021 à 19:19:54] Removing old videos views.
info[12/07/2021 à 19:19:54] Checking latest PeerTube version.
info[12/07/2021 à 19:19:54] Checking latest plugins version.
info[12/07/2021 à 19:19:54] Removing bad actor follows (scheduler).
info[12/07/2021 à 19:19:54] Removing old jobs in scheduler.
info[12/07/2021 à 19:19:55] youtube-dl updated to version 2021.06.06.
Il semble donc que peertube arrive à récupérer ytdl tout seul.
Par contre, je ne sais pas comment reproduire ce comportement sur l’autre instance.