[installation multisite] erreur de permission pnpn lors de la reconstruction

Bonjour,

Je n’arrive pas à mettre à jour/reconstruire mon conteneur web_only. La reconstruction semble échouer lors de l’appel à multisite migrate. Une installation propre (sans données, juste mes fichiers data.yml et web_only.yml) donne la même erreur (la reconstruction du conteneur de données se termine sans erreur).

Fais-je quelque chose de mal ou pourrait-il s’agir d’un bogue introduit lors d’une mise à jour récente ?

Alternativement, comment pourrais-je contourner cette erreur ? Je ne connais pas les détails internes du script, mais le script indique d’abord que /root/ n’est pas inscriptible, crée un dossier temporaire, puis semble planter car mkdir échoue dans le répertoire /root/.

Merci beaucoup !

> Seeding theme and color schemes
I, [2026-01-16T17:32:37.738763 #1]  INFO -- : > cd /var/www/discourse && sudo -E -u discourse bundle exec rake multisite:migrate
`/root` n'est pas inscriptible.
Bundler utilisera `/tmp/bundler20260116-787-ovvxnu787` comme répertoire de départ temporairement.
rake avorté !
Discourse::Utils::CommandError: pnpm -C=frontend/asset-processor node build.js (Discourse::Utils::CommandError)
 WARN  Problème lors de la lecture de "/root/.npmrc". EACCES: permission denied, open '/root/.npmrc'
 WARN  Problème lors de la lecture de "/root/.config/pnpm/rc". EACCES: permission denied, open '/root/.config/pnpm/rc'
 ERROR  EACCES: permission denied, mkdir '/root/.local/share/pnpm/.tools/pnpm/10.28.0_tmp_901'
Pour obtenir de l'aide, exécutez : pnpm help run
/var/www/discourse/lib/discourse.rb:171:in `execute_command'
/var/www/discourse/lib/discourse.rb:137:in `exec'
/var/www/discourse/lib/discourse.rb:32:in `execute_command'
/var/www/discourse/lib/asset_processor.rb:27:in `build_asset_processor'
/var/www/discourse/lib/asset_processor.rb:31:in `build_production_asset_processor'
/var/www/discourse/lib/tasks/assets.rake:155:in `block in <main>'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.3.1/exe/rake:27:in `<top (required)>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
Tasks: TOP => multisite:migrate => assets:precompile:asset_processor
(Voir la trace complète en exécutant la tâche avec --trace)


ÉCHOUÉ
--------------------
Pups::ExecError: cd /var/www/discourse && sudo -E -u discourse bundle exec rake multisite:migrate a échoué avec le retour #<Process::Status: pid 785 exit 1>
Emplacement de l'échec : /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.4.0/lib/pups/exec_command.rb:138:in `spawn'
exec a échoué avec les paramètres "cd /var/www/discourse && sudo -E -u discourse bundle exec rake multisite:migrate"
bootstrap a échoué avec le code de sortie 1
** ÉCHEC DU BOOTSTRAP ** veuillez faire défiler vers le haut et rechercher des messages d'erreur antérieurs, il peut y en avoir plus d'un.

@david / @cvx est-ce que cela pourrait être lié à la mise à niveau de pnpm que nous avons effectuée récemment ? :thinking:

cela devrait être sudo -H -E -u discourse…

(nous devrions probablement faire de set_home la valeur par défaut)

2 « J'aime »

Il est incroyable que j’aie reçu la réponse exacte après… 25 minutes :tada: !

Merci beaucoup, la reconstruction s’est terminée avec succès !

En effet, mon web_only.yml contenait la mauvaise commande. Je me souviens avoir suivi l’un de ces tutoriels : (qui contiennent toujours la commande maintenant incorrecte ; je ne sais pas comment modifier ces publications).

2 « J'aime »

Oui, cela pourrait être le cas, car j’ai eu des problèmes lorsque la mise à jour a échoué en voulant passer à la v10 alors que j’étais en 9.quelque chose. J’ai donc mis à jour pnmp manuellement.

Et oui, je suis hors sujet car mon cas n’est pas multisite et l’OP avait un problème différent.

1 « J'aime »