我采用开发者方式运行 Discourse 站点,未使用 Docker。我分别运行了 sidekiq、redis 和 discourse 服务,一切正常。
但每当我安装新插件时(通过 git-clone 将其放入 /plugins 目录,将权限设置为 www-data 或 discourse 用户,这无所谓,然后重启上述服务,甚至重启服务器),在站点的 /admin/plugins 页面中都无法看到该插件。插件列表为空。
不过,如果我在 /admin/site_settings 中搜索新安装插件的某个元素,例如插件 chat-integrations,搜索“chat”后,就能找到该插件的设置项:“启用聊天集成”及相关设置。其中一些已启用(勾选),一些未启用。如果执行硬刷新(Linux 上按 Ctrl-Shift-R),这些勾选状态会发生变化:例如,突然 Slack 不再激活,而 Discourse 被激活;再次刷新则情况相反,如此循环。
其他插件如 discourse-news 也出现同样问题。
似乎没有任何插件能正常工作。
但我成功安装了 discourse-big-header-little-header 组件,它正常显示并运行。
那么,问题出在插件上究竟是什么原因?