これと非常に似た問題が再発しているようです:
Discourse 3.5.2 で、特定のコンポーネント(ソースから)をインストールしようとすると、常に古いバージョンがインストールされてしまいます。エクスポートして確認すると、古い JavaScript が含まれていることがわかります。また、ブラウザの開発者ツールでファイルを検索すると、常に古いバージョンのファイルが表示されます。about.json で名前を変更してビルドしても、古い名前が表示されます。
これは、コンポーネントページから GitHub で手動でインストールする場合でも、app.yml からインストールする場合でも同様です。
Install a Theme programatically に従って、私の app.yml の末尾は以下の通りです:
## ビルド後に実行するカスタムコマンド
run:
- exec: echo "Beginning of custom commands"
## 最初の登録用の 'From' メールアドレスを設定したい場合は、コメントを解除して変更してください:
## 最初のサインアップメールを受信したら、再度コメントアウトしてください。一度だけ実行すれば十分です。
#- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
- file:
path: /tmp/mythemes.yml
contents: |
discourse-new-topic-button:
url: https://github.com/toad/discourse-new-topic-button-theme-component.git
add_to_all_themes: true
# 古いリポジトリ - 何らかの奇妙なキャッシュのため、コミットごとに新しいリポジトリを作成する必要があるようです?
#url: https://github.com/toad/discourse-new-topic-button.git
#url: https://github.com/toad/discourse-new-topic-button-theme-component.git
#url: https://github.com/toad/discourse-new-topic-button-mod.git
- exec:
cd: $home
cmd: su discourse -c 'bundle exec rake themes:install < /tmp/mythemes.yml'
- exec: echo "End of custom commands"
出力結果は以下の通りです:
I, [2025-11-12T01:43:24.323446 #1] INFO -- : > echo "Beginning of custom commands"
I, [2025-11-12T01:43:24.325106 #1] INFO -- : Beginning of custom commands
I, [2025-11-12T01:43:24.327203 #1] INFO -- : File > /tmp/mythemes.yml chmod: chown:
I, [2025-11-12T01:43:24.327361 #1] INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake themes:install < /tmp/mythemes.yml'
I, [2025-11-12T01:43:32.778093 #1] INFO -- : discourse-new-topic-button: installed from https://github.com/toad/discourse-new-topic-button.git
Results:
Installed: 1
Updated: 0
Errors: 0
Skipped: 0
I, [2025-11-12T01:43:32.778262 #1] INFO -- : > echo "End of custom commands"
I, [2025-11-12T01:43:32.779694 #1] INFO -- : End of custom commands
ビルド前にコンポーネントを削除しない場合、「Installed」ではなく「Updated」と表示されますが、どちらの場合でも最終的に古いバージョンのコンポーネントが残ってしまいます。
ページを離れて Shift+Reload などをしても何の変化もありません。別のリポジトリに移動しても変化はありません(2つのリポジトリは同じです)。
コンテナ内で直接 rake を使ってビルドすることも試しました。
この問題をデバッグする方法はありますか?ビルドログを見ることができれば便利ですが、rake --verbose では追加情報は得られません。
私のセットアップは少し特殊です(本番環境では rootless Docker を使用していますが、これはステージングサーバーです)。
助けてください!
どうやら、常にコミット 990dec4f3e8411215122c74b2684782244eeffa2 より前の何かをビルドしているようです。このコミットでは「New Topic Button」が Glimmer サポートに移行しており、3.6 では必須になります。そのため、3.6 にアップグレードすると壊れてしまいます。私は「New Topic Button」コンポーネントのフォークを修正しようとしていますが、上流バージョンでも壊れるようです。
もう一度、この問題をデバッグするにはどうすればよいでしょうか?![]()