我为ghost cms添加了一个新主题,它显示在我本地机器的列表中,但在我的heroku实例上,我无法在可用主题列表中看到它。
有没有办法在heroku中重启Ghost,或者强制它出现?我试过重新启动dynos,并重新部署无济于事。
答案 0 :(得分:1)
你是如何安装主题的? instructions使其看起来像是将文件放入目录(使用管理界面或手动)。
Heroku的ephemeral filesystem与之不兼容:
每个dyno都有自己的短暂文件系统,并带有最近部署代码的全新副本。在dyno的生命周期中,其运行进程可以将文件系统用作临时暂存器,但是任何其他dyno中的进程都不会看到所写的文件,并且在dyno停止或重新启动时,所写的任何文件都将被丢弃。例如,每次因应用程序部署而更换dyno时都会发生这种情况,并且大约每天一次作为正常dyno管理的一部分。
当dyno重新启动时,您对文件系统所做的任何更改都将丢失,每天至少发生一次。 (也许与直觉相反,重新启动你的dyno会产生与你想要的相反的效果。)
您必须将主题文件提交到Git存储库并将新代码部署到Heroku。除了在dyno重启之间保持更改时,这也使得所有dynos都可以使用新主题(如果你扩展到一个以上)。
答案 1 :(得分:0)
@chris我解决了这个问题,结果发现我在config.production.json中的内容路径错了。它没有找到适合主题的地方
是
"paths": {
"contentPath": "content/"
},
它必须是
"paths": {
"contentPath": "content"
},