v3.5.3にアップグレードした後、管理者ページに異常が発生しました

v3.5.2からv3.5.3にアップグレードした後、管理者ページに異常が発生しました

そして、以下のエラーが表示されます

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

プラグインを無効にすると正常になりましたが、どのプラグインに問題が発生しているのか特定できません。確認していただけますでしょうか。

セーフモードで「非公式クライアントプラグインのカスタマイズを無効にする」と問題は残りますが、「すべてのクライアントプラグインのカスタマイズを無効にする」と正常になります。

3.5.3 はサポートされなくなりました。詳細は https://releases.discourse.org をご覧ください。

「いいね!」 1

ネイトが言ったように、それはかなり古いバージョンです。コマンドラインからのアップデートを試してみてください。

「いいね!」 1

バージョンアップのおすすめはどれですか?バージョンを飛び越しすぎると、互換性の問題が増える可能性はありますか?

2026.1.1にアップグレードした後、直接失敗しました

「いいね!」 1

疑わしいメッセージについては、/logs を確認してください。

「いいね!」 2

ウェブアップグレードが失敗した場合は、rootとしてsshでログインし、コマンドラインでのアップグレードを実行する必要があります。

上記の返信が提案するように、コマンドラインでの再構築を試していただけますか?それが問題を解決する可能性が高いです。バージョンジャンプによる問題は見たことがありません。

「いいね!」 1

具体的なコマンドは何でしょうか?私のサービスはDockerイメージにパッケージ化され、リモートサーバーのk8sクラスターにデプロイされています。デプロイにはweb_only方式を使用しています。

また、管理者ページでエラーが発生した場合、以下のエラーが表示されます。

Discourse をインストールした場所へ移動し、discourse_docker がある場所で ./launcher rebuild app と入力してください。/var/discourse がスクリプトを配置する「推奨」場所だと思いますが、お客様の場合は異なるかもしれません。

それはサポートされていません。最新のイメージをロードするための何らかの処置が必要になります。データベースの移行も必要です。通常、複数のバージョンをアップグレードしても問題ありません。

「いいね!」 3

データベースの移行に失敗したようです。以下のエラーが発生しました。

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

具体的なpnpmのパスを確認したところ、パスは存在するものの、pnpm.cjsファイルに実行権限がないためエラーが発生していることがわかりました。

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

その後、イメージ内でcorepackを使用して該当バージョンのpnpmをプリインストールしたところ、データベースのマイグレーションは成功しました。現在、サービスは正常に動作しています。

「いいね!」 1