[instalación multisite] error de permiso pnpn durante la reconstrucción

Hola,

No puedo actualizar/reconstruir mi contenedor web_only. La reconstrucción parece fallar al llamar a multisite migrate. Una instalación nueva (sin datos, solo con mis archivos data.yml y web_only.yml) produce el mismo error (la reconstrucción del contenedor de datos se completa sin errores).

¿Estoy haciendo algo mal o podría ser un error introducido en una actualización reciente?

Alternativamente, ¿cómo podría evitar este error? No conozco el funcionamiento interno del script, pero el script primero indica que /root/ no se puede escribir, crea una carpeta temporal y luego parece fallar porque mkdir falla en el directorio /root/.

¡Muchas gracias!

> 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` no es escribible.
Bundler usará `/tmp/bundler20260116-787-ovvxnu787` como su directorio de inicio temporalmente.
rake abortado!
Discourse::Utils::CommandError: pnpm -C=frontend/asset-processor node build.js (Discourse::Utils::CommandError)
 WARN  Problema al leer "/root/.npmrc". EACCES: permission denied, open '/root/.npmrc'
 WARN  Problema al leer "/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'
Para obtener ayuda, ejecuta: 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
(Ver el rastreo completo ejecutando la tarea con --trace)


FALLIDO
--------------------
Pups::ExecError: cd /var/www/discourse && sudo -E -u discourse bundle exec rake multisite:migrate falló con retorno #<Process::Status: pid 785 exit 1>
Ubicación del fallo: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.4.0/lib/pups/exec_command.rb:138:in `spawn'
exec falló con los parámetros "cd /var/www/discourse && sudo -E -u discourse bundle exec rake multisite:migrate"
bootstrap falló con código de salida 1
** FALLÓ EL ARRANQUE ** por favor desplázate hacia arriba y busca mensajes de error anteriores, puede haber más de uno.

1 me gusta

@david / @cvx ¿podría estar esto relacionado con la actualización de pnpm que hicimos recientemente? :thinking:

1 me gusta

esto debería ser sudo -H -E -u discourse…

(probablemente deberíamos hacer que set_home sea el predeterminado)

3 Me gusta

¡Es increíble que haya recibido la respuesta exacta después de… 25 minutos :tada:!

¡Muchísimas gracias, la reconstrucción se completó con éxito!

De hecho, mi web_only.yml contenía el comando incorrecto. Recuerdo haber seguido uno de estos tutoriales: (que todavía contienen el comando ahora incorrecto; no estoy seguro de cómo editar esas publicaciones).

3 Me gusta

Sí, podría ser, porque tuve problemas cuando la actualización falló al querer la v10 y yo tenía la 9.algo. Así que actualicé pnmp manualmente.

Y sí, estoy fuera de tema porque el mío no es multisitio y el OP tenía un problema diferente.

2 Me gusta