Будучи новым для 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/
Что я делаю не так?
Вам не нужно 'gem 'date'', это в стандартном lib –
@ Sirl33tname Я удалю это, но это не влияет на мою программу? Coz он все еще нормально работает на локальном сервере. – Newtt
Не сразу, но теперь геройку может установить ваш драгоценный камень, и вы забыли добавить Procfile –