Adminseite zeigt nach dem Upgrade auf v3.5.3 Fehler an

Nach dem Upgrade von Version v3.5.2 auf v3.5.3 ist die Administrationsseite fehlerhaft.

Und es wird folgender Fehler gemeldet:

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

Nach Deaktivierung der Plugins funktioniert es wieder normal, aber ich kann nicht feststellen, welches Plugin das Problem verursacht. Können Sie mir dabei helfen?

Das Problem besteht weiterhin, wenn „Nicht-offizielle Client-Plugin-Anpassungen deaktivieren“ im abgesicherten Modus ausgewählt ist, funktioniert es jedoch ordnungsgemäß, wenn „Alle Client-Plugin-Anpassungen deaktivieren“ ausgewählt ist.

3.5.3 wird nicht mehr unterstützt. Bitte siehe https://releases.discourse.org.

1 „Gefällt mir“

Wie Nate sagte, ist das eine sehr alte Version. Versuchen Sie es vielleicht mit einem Befehlszeilen-Update.

1 „Gefällt mir“

Welche Version wird für ein Upgrade empfohlen? Führt ein Upgrade über zu viele Versionen hinweg zu mehr Kompatibilitätsproblemen?

Der direkte Fehler trat nach dem Upgrade auf 2026.1.1 auf

1 „Gefällt mir“

Überprüfen Sie Ihre /logs auf verdächtige Nachrichten.

2 „Gefällt mir“

Wenn das Web-Upgrade fehlschlägt, müssen Sie sich per ssh als Root anmelden und ein Kommandozeilen-Upgrade durchführen.

Können Sie versuchen, einen Kommandozeilen-Neubau durchzuführen, wie in der obigen Antwort vorgeschlagen? Das wird das Problem wahrscheinlich beheben, ich habe noch nie ein Problem bei Versionssprüngen gesehen.

1 „Gefällt mir“

Welcher Befehl ist das genau? Mein Dienst wird als Docker-Image verpackt und dann in einem entfernten Server-K8s-Cluster bereitgestellt. Die Bereitstellung erfolgt im web_only-Modus.

Außerdem tritt bei einem Fehler auf der Administratorseite folgende Fehlermeldung auf:

Gehen Sie zu dem Ort, an dem Sie Discourse installiert haben, und geben Sie dort ./launcher rebuild app ein – also dort, wo sich discourse_docker befindet. Ich glaube, /var/discourse ist der „empfohlene“ Ort für das Skript, aber das könnte bei Ihnen anders sein.

Das wird nicht unterstützt. Sie müssen etwas tun, um das neueste Image zu laden. Sie müssen die Datenbank migrieren. Normalerweise gibt es kein Problem, mehrere Versionen zu überspringen.

3 „Gefällt mir“

Es scheint, als wäre die Datenbankmigration fehlgeschlagen. Der folgende Fehler wurde gemeldet.

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

Als ich den spezifischen pnpm-Pfad überprüfte, stellte ich fest, dass der Pfad existiert, aber die Datei pnpm.cjs keine Ausführungsberechtigung hatte, was den Fehler verursachte.

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

Nachdem ich dann in dem Image mit corepack die entsprechende Version von pnpm vorinstalliert hatte, war die Datenbankmigration erfolgreich. Der Dienst läuft jetzt normal.

1 „Gefällt mir“