代码之家  ›  专栏  ›  技术社区  ›  Graeme Paul

Ghost CMS Heroku git添加的新主题未显示

  •  0
  • Graeme Paul  · 技术社区  · 7 年前

    我向ghost cms添加了一个新主题,它显示在本地机器的列表中,但在heroku实例中,我在可用主题列表中看不到它。

    有没有办法在heroku中重新启动Ghost,或者强制它出现?我尝试重新启动dynos,但没有成功。

    2 回复  |  直到 7 年前
        1
  •  1
  •   Chris    7 年前

    您是如何安装主题的?这个 instructions 使其看起来像是将文件放入目录(使用管理UI或手动)。

    Heroku的 ephemeral filesystem 与此不兼容:

    每个dyno都有自己的临时文件系统,以及最新部署代码的新副本。在dynos生存期内,其运行的进程可以将文件系统用作临时草稿行,但任何其他dyno中的进程都看不到写入的文件,并且在dyno停止或重新启动时,写入的任何文件都将被丢弃。例如,由于应用程序部署而更换dyno时,以及作为正常dyno管理的一部分,每天大约更换一次dyno时,都会发生这种情况。

    dyno重新启动时,您对文件系统所做的任何更改都将丢失,每天至少发生一次。(也许与直觉相反,重新启动dyno会产生与您想要的相反的效果。)

    您必须将主题文件提交到Git存储库,并将新代码部署到Heroku。除了使更改在dyno重新启动时保持不变外,这还使所有dyno都可以使用新主题(如果扩展到一个以上)。

        2
  •  0
  •   Graeme Paul    7 年前

    @chris我解决了这个问题,结果是我的内容路径在config中。生产json是错误的。它找不到合适的主题位置

    是的

     "paths": {
          "contentPath": "content/"
      },
    

    这是必须的

      "paths": {
          "contentPath": "content"
      },