I'm trying to get my Heroku app to run using the bamboo-mri-1.9.2
stack. Of course it's running fine locally on Ruby 1.9.2. But when on production it crashes during the startup on executing config.ru
which looks like this:
require 'sinatratestapp'
run Sinatra::Application
My .gems
file:
sinatra --version '>= 1.0'
And the application itself as sinatratestapp.rb
:
require 'rubygems'
require 'sinatra'
get '/' do
"Hello from Sinatra on Heroku!"
end
That's all I've got in the project and trying to run that on Heroku results:
<internal:lib/rubygems/custom_require>:29:in `require': no such file to load -- sinatratestapp (LoadError)
from <internal:lib/rubygems/custom_require>:29:in `require'
from config.ru:1:in `block (3 levels) in <main>'
...
-----> Your application is requiring a file that it can't find.
Most often this is due to missing gems, or it could be that you failed
to commit the file to your repo. See http://docs.heroku.com/gems for
more information on managing gems.
Examine the backtrace above this message to debug.
I've tried to do as it guides but as a Ruby noob my examinations have resulted nothing.
By the help of Heroku support request and this question I found out the solution.
Ruby 1.9.2 doesn't automatically include "." in the $LOAD_PATH. To workaround this, modify config.ru
by stating require './sinatratestapp'
instead of require 'sinatratestapp'
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With