如果错误提示 reactions、data explorer 和 solved 仍然在您的 yml 文件中,那么它们很可能确实还在。如果您认为您已将它们注释掉,是否可能是输入了两次?
绝对值得检查一下配置,并确保您编辑的是与您的站点对应的 yml 文件。
如果错误提示 reactions、data explorer 和 solved 仍然在您的 yml 文件中,那么它们很可能确实还在。如果您认为您已将它们注释掉,是否可能是输入了两次?
绝对值得检查一下配置,并确保您编辑的是与您的站点对应的 yml 文件。
您好
我已经成功将我的论坛升级到最新的 3.4.6 stable 版本。在此之前,我使用的是独立的 discourse-oauth2-basic 插件进行身份验证。
在 /admin/plugins 中没有 Oauth2 Basic 登录选项。
我的 discourse 版本是 3.4.6。
提示:插件 ‘discourse-oauth2-basic’ 现在已与 Discourse 捆绑,不应包含在您的容器配置中。
从您的 containers/app.yml 文件中删除 ‘git clone GitHub - discourse/discourse-oauth2-basic: A basic OAuth2 plugin for use with Discourse’ 行,然后重试。
有关更多信息,请参阅 Bundling more popular plugins with Discourse core
我必须在升级到 3.4.6 之前删除插件 discourse-oauth2-basic。
您能否帮助我理解可能出了什么问题?
谢谢!
嗯……会不会是因为你在用稳定版?
在遵循系统提示后,我删除了 discourse-oauth2-basic 插件,并成功升级到了 3.4.6 稳定版。
但是,我现在发现管理员仪表板中缺少 OAuth 2 Basic 的配置选项。
如果您使用的是稳定版,那么在八月初的下一个稳定版发布之前,本主题中的任何内容都将不适用。因此,您应该将 oauth2-basic 添加回您的 app.yml。原始失败肯定有其他原因。
不幸的是,“提示”逻辑并不智能,也不知道稳定版与 tests-passed 之间的区别。
我也是,但我们对此无能为力,对吧?哈哈。我认为更多的原生资源(即插件),即使被禁用,也不是帮助初学者进行自我托管的好方法。
@nat 看看这个,我的引言翻译和我的回复
无论我如何尝试注释掉插件部分中的克隆行,它都会将这些行读取为我想安装插件。我做了什么?删除该行,最后成功了。
升级时,您需要检查 Discourse 核心中包含的插件列表,以避免在插件部分中添加它们以安装或删除 app.yml 文件中的该行。
我认为,由于这些是预先安装的,应该有选项将它们与已安装列表分开。已安装列表是可删除的,而这些只能被禁用。
也许核心合并插件应该放在“精选插件”之类的下面。或者核心插件。
当然,也许还有一个“全部”过滤器。
他们的建议并非理想,但确实可行。 示例:
## 插件放在这里
## 参见 https://meta.discourse.org/t/19157 获取详细信息
hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- git clone https://github.com/discourse/docker_manager.git
- git clone https://github.com/pfaffman/discourse-allow-pm-to-staff.git
#- git clone https://github.com/discourse/discourse-hcaptcha.git
#- git clone https://github.com/discourse/discourse-calendar.git
- rm -rf discourse-adplugin
- rm -rf discourse-affiliate
- rm -rf discourse-ai
- rm -rf discourse-apple-auth
- rm -rf discourse-assign
- rm -rf discourse-login-with-amazon
- rm -rf discourse-lti
- rm -rf discourse-microsoft-auth
- rm -rf discourse-patreon
- rm -rf discourse-subscriptions
- rm -rf discourse-zendesk-plugin
(根据需要调整)
7 个帖子已拆分为新主题:Troubleshooting bootstrap failures in Discourse
现实情况是,稳定版分支 就是 LTS,而且相当不错。它会接收安全更新,而且(得益于 .discourse-compatibility 文件)可以清楚地知道哪些插件版本与之兼容。我完全承认,这一切开始正常工作花了很长时间,但在过去的两年左右,它已经做到了——这是团队的一项伟大成就。
现在是关于你陈述的第二部分。确实,“stable”经常被描绘成你不想要的东西。但在 Communiteq 托管上,在过去的两年半里,我们一直为客户提供在稳定版(“稳定性优先,每年两次新更新,每月一次安全更新”)和测试通过版(“始终走在前沿,每月一次新功能”)之间免费选择的选项,并且 85% 的客户选择稳定版。
我明白。但这难道不是开发问题而不是生产问题吗?我完全理解你们在开发中这样做。但是,在默认的生产安装中添加这些插件,在某种程度上违背了拥有一个 插件(根据定义,它不是默认的)的想法。
我看到的唯一实际的生产效益是关于 卸载插件和多站点主机 的非常非常边缘的问题。(再说一遍,这是件好事,所有其他生产问题都已随着时间得到解决!)
这也可以在设置脚本中解决,通过显示一个插件列表,用户可以勾选它们,然后将它们添加到 app.yml 中。
但你们仍然为不同的套餐提供不同(子)集插件,对吗?
我也更倾向于 app.yml 的取消注释方法。
所有这些插件都安装在我们的所有自助服务套餐上。有些套餐没有访问权限,但即使没有访问权限,它们仍然会安装。
我们不会改变这个决定,所以人们只能接受。我知道有些人对此感到不满,有些人反对,但这确实不会改变。
这使我们在开发过程中具有速度优势,它定义了我们的偏好,它确保了绝大多数人使用的 Discourse 更加稳定。
还有其他插件……核心插件并非唯一的插件。
一个帖子被拆分到一个新主题:Discourse 不提供 LTS 版本
我完全同意将流行的插件及其功能移入核心镜像是有意义的。特别是如果它们来自与核心本身相同的编码器(CDCK)。即使对于其他软件项目来说,这也是常见的做法。但我们应该解决引导问题——我仍然乐观 ![]()
这就是你无法重建的原因。
这绝对是更好的方法。仍然可以使用上一篇文章中的移除插件代码来实现。
将此添加到安装脚本中,可以提供更好的开箱即用选项,并且在程序中很常见,允许您选择是否安装某些可选功能。
可比性文件很棒。不过,我个人认为应该在主题中添加可比性信息。提供链接或说明,以了解 TC/插件是否同时适用于 Stable 和 Tests-passed 的安装说明。
但它确实有效。示例:
## 插件放在这里 ## 参见 https://meta.discourse.org/t/19157 获取详情 hooks: after_code: - exec: cd: $home/plugins cmd: - git clone https://github.com/discourse/docker_manager.git - git clone https://github.com/pfaffman/discourse-allow-pm-to-staff.git #- git clone https://github.com/discourse/discourse-hcaptcha.git #- git clone https://github.com/discourse/discourse-calendar.git - rm -rf discourse-adplugin - rm -rf discourse-affiliate - rm -rf discourse-ai - rm -rf discourse-apple-auth - rm -rf discourse-assign - rm -rf discourse-login-with-amazon - rm -rf discourse-lti - rm -rf discourse-microsoft-auth - rm -rf discourse-patreon - rm -rf discourse-subscriptions - rm -rf discourse-zendesk-plugin(根据需要调整)
感谢指南;除了“automation”插件外,其他插件都运行良好,但“automation”插件似乎无法删除,因为聊天插件依赖于它。
自动化插件确实不应该被移除。它有很多有用的潜在用途。我认为需要投入更多时间来获得更多的自动化选项。
但是,是的,通过移除插件来清理是个好主意,正如 @RGJ 指出的那样,最近真正多余的插件合并后,可以质疑是否需要安装这些选项。甚至可以有一个独立的脚本在安装后使用,以便为自托管用户提供更友好的体验,这样一些可能想避免编辑 app.yml 的用户就可以不用编辑了。