在 Heroku 的中间人站点中找不到文件错误

Can't find file error in Middleman site on Heroku

我已经按照本指南 (http://www.randomerrata.com/articles/2013/middleman-on-heroku/) 设置了一个中间人站点,用于部署到 Heroku。当我在浏览器中加载网站时出现错误:

Rack app error: #<Errno::ENOENT: No such file or directory - 404.html>

一切似乎都设置正确,我提供了源目录结构的屏幕截图和 config.ru。可能是什么问题?

尝试指定绝对路径:

page_404_file = File.expand_path('../build/404/index.html', __FILE__)
File.open(page_404_file, File::RDONLY)

似乎构建从未被构建,导致没有 index.html 文件加载,随后出现 404 加载失败。

看着 bundle exec middleman build 它似乎被说话标记包裹 '' 而不是重音 `` - 不确定技术上的差异,但它看起来像是更改第 8 行正确包含 ` 构建。

嗯…我是那个博客的作者 post 看起来这里发生了一些奇怪的事情。出于某种原因,Rack 试图打开 404.html,尽管第 27 行显然是在尝试打开 build/404/index.html.

我讨厌问这个问题,但所有内容都已保存并提交给 Heroku,对吧?

您也可以尝试在 Heroku 上打开一个 bash 控制台,看看那里发生了什么(只需在您的终端提示符下执行 heroku run bash)。


编辑:哦,下面的 Alexander R Lunnon 注意到 middleman build 行用单引号 (') 包裹,而不是反引号 (`),这是应该的。这可能是主要问题。