Heroku app не запускается - 'require': нет такого файла для загрузки-sinatratestapp (LoadError)
Я пытаюсь запустить приложение Heroku, используя стек bamboo-mri-1.9.2
. Конечно, он отлично работает локально на Ruby 1.9.2. Но когда на производстве он выходит из строя во время запуска при выполнении config.ru
, который выглядит следующим образом:
require 'sinatratestapp'
run Sinatra::Application
Мой .gems
файл:
sinatra --version '>= 1.0'
И само приложение в виде sinatratestapp.rb
:
require 'rubygems'
require 'sinatra'
get '/' do
"Hello from Sinatra on Heroku!"
end
Это все, что у меня есть в проекте, и я пытаюсь запустить его на результатах Heroku:
<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.
Я пытался сделать так, как он руководит, но в качестве рубинового нуба мои экзамены привели ничего.
5 ответов:
С помощью запроса поддержки Heroku и этого вопроса я нашел решение.
Ruby 1.9.2 не включает автоматически "."в $LOAD_PATH. Чтобы обойти это, измените
config.ru
, указавrequire './sinatratestapp'
вместоrequire 'sinatratestapp'
.
Вы можете поместить следующую строку в свой config.ru файл и это исправит проблему, а также. Это также будет иметь широкое применение, поэтому оно вернет ощущение поведения до 1.9.2:
$LOAD_PATH.unshift (реж.getwd)
Примечание: Я не смог проверить на Heroku
Моя проблема: заставить unicorn правильно вести себя с приложением (ruby
Я думаю, что столкнулся с этой проблемой, когда экспериментировал с Синатрой. Ruby 1.9 по умолчанию не включает текущий каталог в путь, поэтому вы должны неявно указать
require 'sinatratestapp'
в нашем файлеconfig.ru
.
Спасибо за подсказку. О нем не было никаких упоминаний .самоцветы файл в Heroku post http://blog.heroku.com/archives/2009/3/5/32_deploy_merb_sinatra_or_any_rack_app_to_heroku/