我正在使用最新版本的 Discourse,并尝试将有效的插件安装到 /var/discourse/plugins 目录中。我将插件文件夹复制过去,但它们显然从未成功安装。我始终使用 ./launcher rebuild app 命令。目前,我唯一能安装插件的方式是通过 app.yml 文件。
我想离线安装插件以进行测试。我不想为了安装测试插件而去打开一个 GitHub 仓库,这在我看来有些适得其反。
我正在使用最新版本的 Discourse,并尝试将有效的插件安装到 /var/discourse/plugins 目录中。我将插件文件夹复制过去,但它们显然从未成功安装。我始终使用 ./launcher rebuild app 命令。目前,我唯一能安装插件的方式是通过 app.yml 文件。
我想离线安装插件以进行测试。我不想为了安装测试插件而去打开一个 GitHub 仓库,这在我看来有些适得其反。
或许可以设置一个开发环境,而不是直接在生产站点上操作?你可以直接将代码仓库克隆到 plugins 目录。此外,这样不会影响生产站点的数据,而且在重建时也不会导致用户停机。请参阅 Discourse Meta - 开发安装指南 以获取关于如何设置开发环境的所有相关主题。
在生产环境中是否禁止安装本地插件?是否可以在不重新进行所有操作的情况下将生产环境转换为开发环境?
你可以尝试备份你的生产环境,然后在本地恢复它?
好的,唯一剩下的问题就是生产环境中是否禁止了本地插件安装。希望有人知道答案。
不是“被阻止”,而是根本无法工作。
正如 Nate 所说,最好的办法是搭建本地开发环境,或者如果您愿意,继续使用 app.yml。
为什么在生产环境中安装插件时,公开源代码已成为标准做法?这是否意味着 Discourse 不允许私有插件?即使使用令牌访问的仓库,在托管平台(如 GitHub、GitLab 等)上仍被视为公开插件。
私有 GitHub/GitLab 仓库仍然是私有的。该令牌仅是一个密码,用于让服务器克隆它。其他人无法查看代码。它保持私有状态。
请参阅 Install plugins on a self-hosted site 中关于私有仓库的部分。
在本地使用开发环境测试插件。dev-install
否则,每次更改插件时都必须运行完整的生产环境重建,这非常浪费时间,尤其是团队最近已将开发构建时间缩短至几秒钟。
将插件克隆到 ~/code 或等效目录,然后从插件目录创建符号链接。