Problemas con la página de administración después de actualizar a v3.5.3

Después de actualizar de la versión v3.5.2 a la v3.5.3, la página de administración muestra anomalías

Y se informa del siguiente error:

loader.js:247 Uncaught (in promise) Error: Could not find module discourse/admin/models/admin-plugin imported from discourse/plugins/docker_manager/discourse/models/repo
at loader.js:247:1
at a (loader.js:258:1)
at s.findDeps (loader.js:168:1)
at a (loader.js:262:1)
at s.findDeps (loader.js:168:1)
at a (loader.js:262:1)
at requireModule (loader.js:24:1)
at n.i [as getRoute] (index.ts:121:18)
at p._getQPMeta (index.ts:101:20)
(anonymous) @ loader.js:247
a @ loader.js:258
(anonymous) @ loader.js:168
a @ loader.js:262
(anonymous) @ loader.js:168
a @ loader.js:262
requireModule @ loader.js:24
i @ index.ts:121
_getQPMeta @ index.ts:101

Se normaliza al deshabilitar los complementos, pero no se puede localizar qué complemento está causando el problema. ¿Pueden ayudarme a revisarlo?

El problema persiste cuando se desactiva la “Personalización del complemento de cliente no oficial” en el modo seguro, pero funciona correctamente cuando se desactiva “Toda la personalización del complemento del cliente”.

3.5.3 ya no es compatible. Consulte https://releases.discourse.org.

1 me gusta

Como Nate dijo, esa es una versión muy antigua ahora. Quizás intente una actualización desde la línea de comandos.

1 me gusta

¿Qué versión recomiendan para actualizar? ¿La actualización a través de demasiadas versiones causará más problemas de compatibilidad?

Directamente falló después de actualizar a 2026.1.1

1 me gusta

Verifica tus /logs en busca de mensajes sospechosos.

2 Me gusta

Si la actualización web falla, debe usar ssh para iniciar sesión como root y realizar una actualización desde la línea de comandos.

¿Puedes intentar una reconstrucción desde la línea de comandos como sugiere la respuesta anterior? Eso probablemente lo solucionará, nunca he visto un problema por saltos de versión.

1 me gusta

¿Cuál es el comando específico, por favor? Mi servicio se empaqueta en una imagen de Docker y luego se implementa en el clúster de k8s en un servidor remoto. Estoy usando el método de implementación web_only.

Además, cuando aparece un error en la página de administración, hay el siguiente error:

Ve a donde instalaste Discourse y escribe ./launcher rebuild app - donde sea que esté discourse_docker. Creo que /var/discourse es el lugar “recomendado” para poner el script, pero podría ser diferente para ti.

Eso no es compatible. Necesitarás hacer algo para cargar la última imagen. Necesitarás migrar la base de datos. Normalmente no hay problema en actualizar varias versiones.

3 Me gusta

Parece que la migración de la base de datos falló. Arrojó el siguiente error.

TOP => db:migrate => assets:precompile:asset_processor │
│ full trace by running task with --trace) │
│ executing /etc/runit/1.d/00-ensure-links │
│ executing /etc/runit/1.d/01-cleanup-web-pids │
│ executing /etc/runit/1.d/anacron │
│ executing /etc/runit/1.d/cleanup-pids │
│ stale PID files │
│ executing /etc/runit/1.d/copy-env │
│ runsvdir, PID is 1126 │
│ aborted! │
│ pnpm -C=frontend/asset-processor node build.js (Discourse::Utils::CommandError) │
│ Failed to switch pnpm to v10.28.0. Looks like pnpm CLI is missing at “/home/discourse/.local/share/pnpm/.tools/pnpm/10.28.0/bin” or is incorrect │
│ /home/discourse/.local/share/pnpm/.tools/pnpm/10.28.0/bin/pnpm EACCES

Cuando revisé la ruta específica de pnpm, descubrí que la ruta existía, pero el archivo pnpm.cjs no tenía permisos de ejecución, lo que provocó el error.

drwxrwxrwx root root /
drwxr-xr-x root root home
drwxr-x— discourse discourse discourse
drwxr-x— discourse discourse .local
drwxr-x— discourse discourse share
drwxr-x— discourse discourse pnpm
drwxr-x— discourse discourse .tools
drwxr-x— discourse discourse pnpm
lrwxrwxrwx discourse discourse 10.28.0 → 10.28.0_tmp_9_0
drwxr-x— discourse discourse 10.28.0_tmp_9_0
drwxr-x— discourse discourse bin
lrwxrwxrwx discourse discourse pnpm → ../node_modules/pnpm/bin/pnpm.cjs
drwxr-x— discourse discourse ..
drwxr-x— discourse discourse node_modules
drwxr-x— discourse discourse pnpm
drwxr-x— discourse discourse bin
-rw-r----- discourse discourse pnpm.cjs

Más tarde, después de preinstalar la versión correspondiente de pnpm usando corepack en la imagen, la migración de la base de datos se completó con éxito. El servicio ahora está normal.

1 me gusta