2012-06-13 3 views
2

Я пытался объединить две обучающие программы для размещения статических сайтов:Heroku Cedar чистый стеллаж статический сайт

В основном я хочу, чтобы иметь возможность делать то, что вы в старом бамбуковом учебнике по стеклу кедра. Я могу заставить учебник кедра работать, но когда я пытаюсь изменить его, чтобы обслуживать файлы, я получаю сообщение об ошибке.

Я взглянул на following post, но github repo, похоже, больше не работает, и я не могу понять, где я ошибся.

Когда я пытаюсь запустить сайт локально, как на первом уроке, я получаю следующее сообщение об ошибке:

[email protected]:~/code/martinrichards.me$ rackup -p 9292 config.ru & 
[2] 4065 
[email protected]:~/code/martinrichards.me$ /home/martin/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.4.1/lib/rack/builder.rb:40:in `eval':  /home/martin/code/martinrichards.me/config.ru:2: syntax error, unexpected tIDENTIFIER, expecting '}' (SyntaxError) 
200, ... |env|" 
... 

Я положил то, что у меня до сих пор на Github, любая помощь будет высоко ценится ,

ответ

2

Ну, во-первых, ваш config.ru почти полностью пуст. Похоже, вы, следуя той же структуры сайта как учебник Heroku, поэтому начните с config.ru, как это:

use Rack::Static, 
    :urls => ["/stylesheets", "/images"], 
    :root => "public" 

run lambda { |env| 
    [ 
    200, 
    { 
     'Content-Type' => 'text/html', 
     'Cache-Control' => 'public, max-age=86400' 
    }, 
    File.open('public/index.html', File::RDONLY) 
    ] 
} 

Поскольку вы на кедр, полезно использовать Procfile для запуска ваших процессов , Так добавить файл не названный Procfile (без расширения) в корневом каталоге и поместить следующее внутри него:

web: bundle exec rackup config.ru -p $PORT

Это должно сделать это.

Если вы хотите использовать Sinatra, Heroku имеет шаг за шагом tuturioal для Ruby-сайтов Кедр: https://devcenter.heroku.com/articles/ruby

EDIT:

Как выясняется, у Вас есть линия- проблемы конца в вашем config.ru. Вот почему GitHub не отображает файл правильно. Ваши окончания строки: ^M, которые являются линиями DOS/Windows/Mac OS 9. Вот почему Ruby бросает ошибку на строку 2 - это первый разрыв строки. Не уверен, какой текстовый редактор вы используете, но, вероятно, поддерживает изменение окончаний строк. Переключите их Unix, и все должно работать нормально. Если вы ищете текстовый редактор, который может это сделать, проверьте Sublime Text 2. Функциональность окончания строки находится в меню «Вид».

Поскольку вы создаете приложение для чистой стойки, вам фактически не нужен Procfile, так как по умолчанию Heroku Cedar buildpack обнаружит config.ru для вас. Тем не менее, Procfile пригодится, как только вы начнете использовать другие фреймворки (например, Sinatra). Кроме того, если вы находитесь на Mac, вы можете использовать Foreman для имитации процесса вскрытия Heroku. Обратите внимание, что Profile без расширения и с капиталом «P».

+0

Спасибо за ответ, мой config.ru был идентичен вашему, он просто не показывает полный файл при просмотре на github. Вы должны пойти «отредактировать этот файл», и вы увидите полное содержимое. Ошибка в github? – Martinffx

+0

Я обновил свой вопрос с выходом, с которого я получаю, когда я пытаюсь запустить его локально. – Martinffx

+0

Оказывается, ваша проблема связана с концами строк в 'config.ru'.Я обновил свой ответ, чтобы объяснить. – redhotvengeance

 Смежные вопросы

  • Нет связанных вопросов^_^