2014-01-20 3 views
1

Будучи новым для Heroku, у меня возникли проблемы с распространением моего простого приложения на основе Sinatra на Heroku. Я выполнил все шаги, и приложение также развернуто. Я следовал инструкциям, приведенным здесь:Развертывание приложения Sinatra на Heroku дает ошибки

https://blog.heroku.com/archives/2009/3/5/32_deploy_merb_sinatra_or_any_rack_app_to_heroku

Мой config.ru файлов выглядит следующим образом:

require './sinatratest.rb' 
run Sinatra::Application 

Мои Gemfile является

source 'https://rubygems.org' 
gem 'sinatra' 

Sinatratest.rb как следует:

require 'sinatra' 
require './test.rb' 

get '/' do 
    result = FooRunner.run! 

    File.open('output.json','w') do |f| 
     f.write result 
    end 

    content_type :text 
    result 
end 

И test.rb включает в себя следующие камни:

require 'rubygems' 
require 'nokogiri' 
require 'open-uri' 
require 'date' 
require 'json' 

Моя кишка говорит мне, что я должен быть в том числе все драгоценные камни в Gemfile, но когда я делаю Gemfile выглядит так,

source 'https://rubygems.org' 
gem 'sinatra' 
gem 'open-uri' 
gem 'nokogiri' 
gem 'json' 
gem 'date' 

и когда я бегу bundle install, он дает мне следующую ошибку:

$ bundle install 
Fetching gem metadata from https://rubygems.org/......... 
Fetching gem metadata from https://rubygems.org/.. 
Resolving dependencies... 
Could not find gem 'date (>= 0) x86-mingw32' in the gems available on this 
machine. 

Остальная часть кода основные расчеты программы, так что я не входит их здесь.

Когда я запускаю файлы на localhost: 4567, программа работает отлично.

На запуске приложения в Heroku, я получаю следующие ошибки в лог-файл (довольно обширен, но не уверен, если это важно):

$ heroku logs -t -a young-dusk-4185 
←[36m2014-01-20T13:16:18.123135+00:00 heroku[api]:←[0m Enable Logplex by siddhar 
[email protected] 
←[36m2014-01-20T13:16:18.186772+00:00 heroku[api]:←[0m Release v2 created by sid 
[email protected] 
←[33m2014-01-20T13:16:34+00:00 heroku[slug-compiler]:←[0m Slug compilation start 
ed 
←[33m2014-01-20T13:18:50+00:00 heroku[slug-compiler]:←[0m Slug compilation start 
ed 
←[36m2014-01-20T13:19:05.690086+00:00 heroku[api]:←[0m Scale to web=1 by siddhar 
[email protected] 
←[36m2014-01-20T13:19:05.758285+00:00 heroku[api]:←[0m Deploy 12b370f by siddhar 
[email protected] 
←[36m2014-01-20T13:19:05.814824+00:00 heroku[api]:←[0m Release v3 created by sid 
[email protected] 
←[33m2014-01-20T13:19:06+00:00 heroku[slug-compiler]:←[0m Slug compilation finis 
hed 
←[32m2014-01-20T13:19:08.957680+00:00 heroku[web.1]:←[0m Starting process with c 
ommand bundle exec rackup config.ru -p 34125←[32m2014-01-20T13:19:11.064788+00:00 app[web.1]:←[0m from /app/vendor/bundle/ 
ruby/2.0.0/gems/rack-1.5.2/lib/rack/builder.rb:55:in initialize' 
←[32m2014-01-20T13:19:11.064788+00:00 app[web.1]:←[0m from /app/config.ru:innew' 
←[32m2014-01-20T13:19:11.064788+00:00 app[web.1]:←[0m from /app/config.ru:in <main>' 
←[32m2014-01-20T13:19:11.065003+00:00 app[web.1]:←[0m from /app/vendor/bundle/ 
ruby/2.0.0/gems/rack-1.5.2/lib/rack/builder.rb:49:ineval' 
←[32m2014-01-20T13:19:11.065003+00:00 app[web.1]:←[0m from /app/vendor/bundle/ 
ruby/2.0.0/gems/rack-1.5.2/lib/rack/builder.rb:49:in new_from_string' 
←[32m2014-01-20T13:19:11.065003+00:00 app[web.1]:←[0m from /app/vendor/bundle/ 
ruby/2.0.0/gems/rack-1.5.2/lib/rack/builder.rb:40:inparse_file' 
←[32m2014-01-20T13:19:11.065003+00:00 app[web.1]:←[0m from /app/vendor/bundle/ 
ruby/2.0.0/gems/rack-1.5.2/lib/rack/server.rb:277:in build_app_and_options_from 
_config' 
←[32m2014-01-20T13:19:11.065003+00:00 app[web.1]:←[0m from /app/vendor/bundle/ 
ruby/2.0.0/gems/rack-1.5.2/lib/rack/server.rb:314:inwrapped_app' 
←[32m2014-01-20T13:19:11.065003+00:00 app[web.1]:←[0m from /app/vendor/bundle/ 
ruby/2.0.0/gems/rack-1.5.2/lib/rack/server.rb:250:in start' 
←[32m2014-01-20T13:19:11.065003+00:00 app[web.1]:←[0m from /app/vendor/bundle/ 
ruby/2.0.0/gems/rack-1.5.2/lib/rack/server.rb:141:instart' 
←[32m2014-01-20T13:19:11.065003+00:00 app[web.1]:←[0m from /app/vendor/bundle/ 
ruby/2.0.0/gems/rack-1.5.2/bin/rackup:4:in <top (required)>' 
←[32m2014-01-20T13:19:11.065003+00:00 app[web.1]:←[0m from /app/vendor/bundle/ 
ruby/2.0.0/bin/rackup:23:inload' 
←[32m2014-01-20T13:19:11.065193+00:00 app[web.1]:←[0m from /app/vendor/bundle/ 
ruby/2.0.0/bin/rackup:23:in <main>' 
←[32m2014-01-20T13:19:11.064788+00:00 app[web.1]:←[0m /app/test.rb:2:inrequire 
': cannot load such file -- nokogiri (LoadError) 
←[32m2014-01-20T13:19:11.064788+00:00 app[web.1]:←[0m from /app/sinatratest.rb 
:2:in require' 
←[32m2014-01-20T13:19:11.064788+00:00 app[web.1]:←[0m from /app/vendor/bundle/ 
ruby/2.0.0/gems/rack-1.5.2/lib/rack/builder.rb:55:ininstance_eval' 
←[32m2014-01-20T13:19:11.064788+00:00 app[web.1]:←[0m from /app/config.ru:1:in 
block in <main>' 
←[32m2014-01-20T13:19:11.064788+00:00 app[web.1]:←[0m from /app/test.rb:2:in' 
←[32m2014-01-20T13:19:11.064788+00:00 app[web.1]:←[0m from /app/config.ru:1:in 
require' 
←[32m2014-01-20T13:19:11.064788+00:00 app[web.1]:←[0m from /app/sinatratest.rb 
:2:in' 
←[32m2014-01-20T13:19:11.065003+00:00 app[web.1]:←[0m from /app/vendor/bundle/ 
ruby/2.0.0/gems/rack-1.5.2/lib/rack/server.rb:199:in app' 
←[32m2014-01-20T13:19:12.370360+00:00 heroku[web.1]:←[0m Process exited with sta 
tus 1 
←[32m2014-01-20T13:19:12.381229+00:00 heroku[web.1]:←[0m State changed from cras 
hed to starting 
←[32m2014-01-20T13:19:12.380342+00:00 heroku[web.1]:←[0m State changed from star 
ting to crashed 
←[32m2014-01-20T13:19:14.369032+00:00 heroku[web.1]:←[0m Starting process with c 
ommandbundle exec rackup config.ru -p 4039←[32m2014-01-20T13:19:15.709187+00:00 app[web.1]:←[0m from /app/test.rb:2:in' 
←[32m2014-01-20T13:19:15.709187+00:00 app[web.1]:←[0m from /app/sinatratest.rb 
:2:in require' 
←[32m2014-01-20T13:19:15.709187+00:00 app[web.1]:←[0m from /app/sinatratest.rb 
:2:in' 
←[32m2014-01-20T13:19:15.709187+00:00 app[web.1]:←[0m from /app/config.ru:1:in 
block in <main>' 
←[32m2014-01-20T13:19:15.709187+00:00 app[web.1]:←[0m /app/test.rb:2:inrequire 
': cannot load such file -- nokogiri (LoadError) 
←[32m2014-01-20T13:19:15.709187+00:00 app[web.1]:←[0m from /app/config.ru:1:in 
require' 
←[32m2014-01-20T13:19:15.709187+00:00 app[web.1]:←[0m from /app/vendor/bundle/ 
ruby/2.0.0/gems/rack-1.5.2/lib/rack/builder.rb:55:ininstance_eval' 
←[32m2014-01-20T13:19:15.709387+00:00 app[web.1]:←[0m from /app/vendor/bundle/ 
ruby/2.0.0/gems/rack-1.5.2/lib/rack/builder.rb:49:in new_from_string' 
←[32m2014-01-20T13:19:15.709187+00:00 app[web.1]:←[0m from /app/config.ru:innew' 
←[32m2014-01-20T13:19:15.709387+00:00 app[web.1]:←[0m from /app/vendor/bundle/ 
ruby/2.0.0/gems/rack-1.5.2/lib/rack/builder.rb:40:in parse_file' 
←[32m2014-01-20T13:19:15.709387+00:00 app[web.1]:←[0m from /app/vendor/bundle/ 
ruby/2.0.0/bin/rackup:23:inload' 
←[32m2014-01-20T13:19:15.709387+00:00 app[web.1]:←[0m from /app/vendor/bundle/ 
ruby/2.0.0/gems/rack-1.5.2/lib/rack/server.rb:199:in app' 
←[32m2014-01-20T13:19:15.709387+00:00 app[web.1]:←[0m from /app/vendor/bundle/ 
ruby/2.0.0/gems/rack-1.5.2/bin/rackup:4:in' 
←[32m2014-01-20T13:19:15.709187+00:00 app[web.1]:←[0m from /app/vendor/bundle/ 
ruby/2.0.0/gems/rack-1.5.2/lib/rack/builder.rb:55:in initialize' 
←[32m2014-01-20T13:19:15.709387+00:00 app[web.1]:←[0m from /app/vendor/bundle/ 
ruby/2.0.0/gems/rack-1.5.2/lib/rack/builder.rb:49:ineval' 
←[32m2014-01-20T13:19:15.709387+00:00 app[web.1]:←[0m from /app/vendor/bundle/ 
ruby/2.0.0/gems/rack-1.5.2/lib/rack/server.rb:277:in build_app_and_options_from 
_config' 
←[32m2014-01-20T13:19:15.709187+00:00 app[web.1]:←[0m from /app/config.ru:in' 
←[32m2014-01-20T13:19:15.709387+00:00 app[web.1]:←[0m from /app/vendor/bundle/ 
ruby/2.0.0/gems/rack-1.5.2/lib/rack/server.rb:250:in start' 
←[32m2014-01-20T13:19:15.709387+00:00 app[web.1]:←[0m from /app/vendor/bundle/ 
ruby/2.0.0/gems/rack-1.5.2/lib/rack/server.rb:141:instart' 
←[32m2014-01-20T13:19:15.709387+00:00 app[web.1]:←[0m from /app/vendor/bundle/ 
ruby/2.0.0/gems/rack-1.5.2/lib/rack/server.rb:314:in wrapped_app' 
←[32m2014-01-20T13:19:15.709549+00:00 app[web.1]:←[0m from /app/vendor/bundle/ 
ruby/2.0.0/bin/rackup:23:in' 
←[32m2014-01-20T13:19:16.879149+00:00 heroku[web.1]:←[0m Process exited with sta 
tus 1 
←[32m2014-01-20T13:19:16.890707+00:00 heroku[web.1]:←[0m State changed from star 
ting to crashed 
←[35m2014-01-20T13:21:08.466196+00:00 heroku[router]:←[0m at=error code=H10 desc 
="App crashed" method=GET path=/ host=young-dusk-4185.herokuapp.com request_id=1 
ef27ceb-7ee2-47f4-9fb7-cbdcc8fab61c fwd="122.170.61.59" dyno= connect= service= 
status=503 bytes= 
←[35m2014-01-20T13:21:10.429453+00:00 heroku[router]:←[0m at=error code=H10 desc 
="App crashed" method=GET path=/favicon.ico host=young-dusk-4185.herokuapp.com r 
equest_id=5897225e-2ef0-4d79-a779-d025e4631b9e fwd="122.170.61.59" dyno= connect 
= service= status=503 bytes= 
←[35m2014-01-20T13:21:33.653423+00:00 heroku[router]:←[0m at=error code=H10 desc 
="App crashed" method=GET path=/favicon.ico host=young-dusk-4185.herokuapp.com r 
equest_id=7d0ebe05-3c61-40a5-b68b-8e65aa16ecee fwd="122.170.61.59" dyno= connect 
= service= status=503 bytes= 
←[35m2014-01-20T13:21:31.920663+00:00 heroku[router]:←[0m at=error code=H10 desc 
="App crashed" method=GET path=/ host=young-dusk-4185.herokuapp.com request_id=9 
d1cfd4c-df22-40f1-bf62-666794740d89 fwd="122.170.61.59" dyno= connect= service= 
status=503 bytes= 
←[35m2014-01-20T13:22:12.512932+00:00 heroku[router]:←[0m at=error code=H10 desc 
="App crashed" method=GET path=/ host=young-dusk-4185.herokuapp.com request_id=b 
c1c445c-c585-49bd-b1f9-a417a8f92b91 fwd="122.170.61.59" dyno= connect= service= 
status=503 bytes= 
←[35m2014-01-20T13:22:14.459868+00:00 heroku[router]:←[0m at=error code=H10 desc 
="App crashed" method=GET path=/favicon.ico host=young-dusk-4185.herokuapp.com r 
equest_id=a88c2ad8-1f4f-4010-b485-32456819e054 fwd="122.170.61.59" dyno= connect 
= service= status=503 bytes= 
←[35m2014-01-20T13:24:10.209495+00:00 heroku[router]:←[0m at=error code=H10 desc 
="App crashed" method=GET path=/ host=young-dusk-4185.herokuapp.com request_id=3 
24a985d-12e3-41a4-bd8a-02dc32f59332 fwd="122.170.61.59" dyno= connect= service= 
status=503 bytes= 
←[35m2014-01-20T13:24:11.917667+00:00 heroku[router]:←[0m at=error code=H10 desc 
="App crashed" method=GET path=/favicon.ico host=young-dusk-4185.herokuapp.com r 
equest_id=d940ebe5-4194-415b-96d8-6d7deba77b25 fwd="122.170.61.59" dyno= connect 
= service= status=503 bytes= 
←[33m2014-01-20T13:31:35+00:00 herokulink_ref,[object Object],slug-compiler:←[0m Slug compilation timed 
out: 900.760266585 seconds. 

Вы можете получить доступ к приложению здесь: http://young-dusk-4185.herokuapp.com/

Что я делаю не так?

+0

Вам не нужно 'gem 'date'', это в стандартном lib –

+0

@ Sirl33tname Я удалю это, но это не влияет на мою программу? Coz он все еще нормально работает на локальном сервере. – Newtt

+0

Не сразу, но теперь геройку может установить ваш драгоценный камень, и вы забыли добавить Procfile –

ответ

2

Ваш аварии упоминает

cannot load such file -- nokogiri 

Ваш Gemfile должны перечислить все ваши необходимые драгоценные камни, в противном случае Heroku не может загрузить их. Попробуйте добавить Nokogiri в свой Gemfile. Как уже упоминалось выше, вам не нужно добавлять дату, open-uri или JSON, так как это стандартные библиотеки.

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