title: Deploying Sinatra app on Heroku giving errors
body: <p>Being new to Heroku, I'm having a lot of trouble deploying my simple Sinatra based application to Heroku. I've followed all the steps and the app gets deployed too. I've followed the instructions given here:</p>
  
  <p><a href="https://blog.heroku.com/archives/2009/3/5/32_deploy_merb_sinatra_or_any_rack_app_to_heroku" rel="nofollow">https://blog.heroku.com/archives/2009/3/5/32_deploy_merb_sinatra_or_any_rack_app_to_heroku</a></p>
  
  <p>My config.ru is file is as follows: </p>
  
  <pre><code>require './sinatratest.rb'
  run Sinatra::Application
  </code></pre>
  
  <p>My Gemfile is</p>
  
  <pre><code>source 'https://rubygems.org'
  gem 'sinatra'
  </code></pre>
  
  <p>Sinatratest.rb is as follows:</p>
  
  <pre><code>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
  </code></pre>
  
  <p>And test.rb includes the following gems:</p>
  
  <pre><code>require 'rubygems'
  require 'nokogiri'
  require 'open-uri'
  require 'date'
  require 'json'
  </code></pre>
  
  <p>My gut tells me that I should be including all the gems in the Gemfile but when I do my Gemfile looks like this, </p>
  
  <pre><code>source 'https://rubygems.org'
  gem 'sinatra'
  gem 'open-uri'
  gem 'nokogiri'
  gem 'json'
  gem 'date'
  </code></pre>
  
  <p>and when I run <code>bundle install</code>, it gives me the following error:</p>
  
  <pre><code>$ bundle install
  Fetching gem metadata from https://rubygems.org/.........
  Fetching gem metadata from https://rubygems.org/..
  Resolving dependencies...
  Could not find gem 'date (&gt;= 0) x86-mingw32' in the gems available on this
  machine.
  </code></pre>
  
  <p>The rest of the code are the main calculations of the program so I've not included them here.</p>
  
  <p>When I run the files on localhost:4567, the program runs perfectly. </p>
  
  <p>On running the app in Heroku, I get the following errors in the log file(rather extensive, not sure if it's important): </p>
  
  <pre><code>$ heroku logs -t -a young-dusk-4185
  ←[36m2014-01-20T13:16:18.123135+00:00 heroku[api]:←[0m Enable Logplex by siddhar
  thmantri1@gmail.com
  ←[36m2014-01-20T13:16:18.186772+00:00 heroku[api]:←[0m Release v2 created by sid
  dharthmantri1@gmail.com
  ←[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
  thmantri1@gmail.com
  ←[36m2014-01-20T13:19:05.758285+00:00 heroku[api]:←[0m Deploy 12b370f by siddhar
  thmantri1@gmail.com
  ←[36m2014-01-20T13:19:05.814824+00:00 heroku[api]:←[0m Release v3 created by sid
  dharthmantri1@gmail.com
  ←[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 &lt;main&gt;'
  ←[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 &lt;top (required)&gt;'
  ←[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 &lt;main&gt;'
  ←[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 &lt;main&gt;'
  ←[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 &lt;main&gt;'
  ←[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.
  </code></pre>
  
  <p>You can access the app here: <a href="http://young-dusk-4185.herokuapp.com/" rel="nofollow">http://young-dusk-4185.herokuapp.com/</a></p>
  
  <p>What am I doing wrong?</p>