Аз създадох сайт на Middleman според това ръководство (http://www.randomerrata.com/articles/2013/middleman-on-heroku/) за разполагане в Heroku. Когато зареждам сайта в браузър, се появява грешка:
Rack app error: #<Errno::ENOENT: No such file or directory - 404.html>
Всичко изглежда да е правилно настроено, дадох снимка на моята структура на директорията на източника и config.ru.Какво може да е проблемът?
Отговори:
1 за отговор № 1Изглежда, че изграждането никога не се изгражда, което води до липса на index.html зареждане на файл, а впоследствие 404 не се зарежда.
Гледам към bundle exec middleman build
изглежда, че е обвит в говорещи знаци ""
а не на сериозния акцент ``
- не сте сигурни за техническата разлика, но изглежда, че променяте линия # 8, за да включите `builds правилно.
0 за отговор № 2
Опитайте се да зададете абсолютен път:
page_404_file = File.expand_path("../build/404/index.html", __FILE__)
File.open(page_404_file, File::RDONLY)
0 за отговор № 3
Хм ... аз съм авторът на тази публикация в блога и изглежда, че тук се случва нещо странно. По някаква причина Рак се опитва да отвори 404.html
въпреки факта, че линията 27 очевидно се опитва да се отвори build/404/index.html
.
Мразя да питам това, но всичко е спасено и посветено на Хероу, нали?
Можете също така да се опитате да отворите баш конзола на Heroku, за да видите какво ще се случва там (просто изпълнете heroku run bash
в терминала).
Редактиране: о, Александър Р Лунън долу забелязах, че middleman build
линия е обвита в единични кавички ("), а не backticks ("), тъй като трябва да бъде. Това може да е основният проблем.