Problemi con la pagina di amministrazione dopo l'aggiornamento a v3.5.3

Dopo l’aggiornamento dalla versione v3.5.2 alla v3.5.3, la pagina di amministrazione presenta un’anomalia

Inoltre, viene segnalato il seguente errore:

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

Dopo aver disabilitato i plugin, è tornato normale, ma non riesco a identificare quale plugin stia causando il problema. Potete aiutarmi a verificarlo?

Il problema persiste quando si seleziona “Disabilita personalizzazione plugin client non ufficiali” in modalità sicura, ma funziona correttamente quando si seleziona “Disabilita tutte le personalizzazioni dei plugin client”.

3.5.3 non è più supportato. Si prega di consultare https://releases.discourse.org.

1 Mi Piace

Come ha detto Nate, è una versione molto vecchia adesso. Prova magari un aggiornamento dalla riga di comando.

1 Mi Piace

Si consiglia di aggiornare a quale versione? L’aggiornamento di troppe versioni comporterà maggiori problemi di compatibilità?

Il fallimento è avvenuto subito dopo l’aggiornamento alla versione 2026.1.1

1 Mi Piace

Controlla i tuoi /logs per messaggi sospetti.

2 Mi Piace

Se l’aggiornamento web fallisce, è necessario utilizzare ssh per accedere come root ed eseguire un aggiornamento da riga di comando.

Puoi provare una ricostruzione da riga di comando come suggerito nella risposta precedente? Probabilmente risolverà il problema, non ho mai visto un problema derivante dai salti di versione..

1 Mi Piace

Qual è esattamente il comando? Il mio servizio è pacchettizzato come immagine Docker e poi distribuito nel cluster k8s del server remoto. Viene utilizzata la modalità di distribuzione web_only.

Inoltre, quando si verifica un errore nella pagina di amministrazione, viene visualizzato il seguente errore:

Vai dove hai installato Discourse e digita ./launcher rebuild app - ovunque si trovi discourse_docker. Credo che /var/discourse sia il posto “consigliato” per inserire lo script, ma potrebbe essere diverso per te.

Questo non è supportato. Dovrai fare qualcosa per caricare l’immagine più recente. Dovrai migrare il database. Di solito non c’è problema ad aggiornare più versioni.

3 Mi Piace

Sembra che la migrazione del database non sia riuscita. Ha riportato il seguente errore.

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

Quando ho controllato il percorso specifico di pnpm, ho scoperto che il percorso esisteva, ma il file pnpm.cjs non aveva i permessi di esecuzione, causando l’errore.

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

Successivamente, dopo aver preinstallato la versione corrispondente di pnpm utilizzando corepack nell’immagine, la migrazione del database è andata a buon fine. Ora il servizio è tornato alla normalità.

1 Mi Piace