我知道这是因为“替代徽标”组件:
I, [2021-06-25T11:00:32.360020 #1] INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile'
更新“替代徽标”失败
about.json 包含无效值:最大 Discourse 版本无效
/var/www/discourse/app/models/remote_theme.rb:169:in `update_from_remote'
/var/www/discourse/lib/tasks/themes.rake:61:in `block (2 levels) in <main>'
我曾安装过该组件,但由于 Discourse 已宕机,我无法访问管理面板将其删除。如何从命令行删除该主题组件?
Benjamin_D
(Benjamin Decotte)
3
我不确定 cleanup 对已停止的容器有什么作用,但你也许可以直接运行 ./launcher start app,然后在 https://your.domain/admin/customize/themes 中禁用那个有问题的主题?
你指的是 app.yml 中的插件吗?
没错。
我知道问题出在 Alternative Logos 上:
I, [2021-06-25T11:00:32.360020 #1] INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile'
更新 Alternative Logos 失败
about.json 包含无效值:最大 Discourse 版本无效
/var/www/discourse/app/models/remote_theme.rb:169:in `update_from_remote'
/var/www/discourse/lib/tasks/themes.rake:61:in `block (2 levels) in <main>'
我安装了该组件,但由于 Discourse 服务已宕机,我无法访问管理面板将其删除。我该如何从命令行删除该主题组件?我无法重建或启动应用,这真让人头疼。
所以:
- 我无法重新构建,因为 Alternative Logos 的 about.json 中指定的最高版本低于我当前的版本
- 我无法删除 Alternative Logos 组件,除非进入应用
- 我无法进入应用,因为我无法重新构建它
有什么办法可以解决这个问题吗?我想移除 Alternative Logos 组件。
./launcher start app
无法在本地找到镜像 'local_discourse/app:latest'
docker: 守护进程错误响应:拉取访问被拒绝 local_discourse/app,仓库不存在或可能需要 'docker login':拒绝:请求访问资源被拒绝。
请参阅 'docker run --help'。
不幸的是,确实如此。
Benjamin_D
(Benjamin Decotte)
9
那也许可以用 git pull,但或许可以等等援兵
(我看到 Jay 在回复……)
pfaffman
(Jay Pfaffman)
11
你试过运行
./launcher start app
吗?不过,如果你在旧容器停止时执行了 ./launcher cleanup,导致没有容器可以启动,那可就有点麻烦了。你当时就是这么做的吗? 看起来确实是这样。
我认为这是一个 bug:一个有问题的主题组件竟然会导致无法升级,所以或许很快就会有解决方案。
我觉得你可以修改数据库来移除该主题组件,但如果你没有正在运行的容器来访问数据库,我就不太清楚该如何操作了。
我唯一的其他紧急解决方案是,看看能否在干净的安装环境中恢复现有的数据库。
也许你可以将数据库恢复到干净的安装环境(它可能会忽略损坏的主题),然后删除你的数据库,使用升级后的 Discourse 重新构建一个全新的空数据库,最后从远程干净安装环境中恢复数据库。
另一种解决方案是创建一个仅包含数据库的镜像,并使用 SQL 移除损坏的主题组件。
2 个赞
我猜我要重新安装了,然后从备份恢复(在这个 .sql 备份文件中,我会对“替代徽标”部分进行修改。
不过情况确实很糟糕:一旦某个组件导致 Discourse 重建失败,除了全新安装之外,你没有任何其他选择。
2 个赞
好的,解决方案是搭建一个新的 Discourse 安装,从备份恢复,然后删除导致问题的组件。
3 个赞
我今天早上也遇到了类似的情况,但只需重启应用即可解决。
我的站点大约有 10 个主题,每个主题都使用了“替代徽标”组件,因为每个主题都使用不同颜色的徽标以匹配其配色方案。我注意到现在可以在站点设置中输入深色主题徽标。但是,如果删除这个已弃用的组件,其他主题的自定义徽标该在哪里添加呢?
pfaffman
(Jay Pfaffman)
15
我认为问题仅出在 about.json 文件中,你可以 fork 主题组件来创建自己的版本。但我尚未仔细查看或亲自尝试过。
system
(system)
关闭
16
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.