Почему я получаю сообщение об ошибке при первом запросе после перезапуска приложения Sinatra с помощью Rack и Phusion Passenger?
После того, как я коснулся tmp / restart.txt и мое приложение перезапустилось, первый запрос выдает ошибку, обычно что-то о том, что не найден Haml::Engine или какой-либо другой гем. Второй и последующие запросы все работают нормально. У меня была эта проблема на Dreamhost, который работал под управлением Rack 0.4.1 и Sinatra 0.3.3, но после перехода на свой собственный хост и запуска более новых Rack (0.9.1) и Sinatra (0.9.0.4) я все еще вижу проблему.
Если вы не знаете точного ответа, но у вас есть советы, как мне его отследить, сообщите мне.
Вот мой config.ru:
require 'rubygems'
require 'sinatra'
disable :run
set :environment, :production
set :raise_errors, true
require 'app.rb'
run Sinatra::Application
2 ответа
Я хотел бы убедиться, что вам нужны все необходимые драгоценные камни. Возможно, в том, что вы делаете, есть что-то, что приводит к сбою в первый раз. Вы требуете rubygems
?
Также может помочь, если вы разместили конфигурацию стойки для приложения (config.ru
).
Ошибка вызвана слишком поздней загрузкой драгоценного камня Синатры. Это решение:
# config.ru ENV ['GEM_HOME'] || = `gem env path`.strip.split (':'). First ENV['GEM_PATH'] ||= `gem env path`.strip Gem.clear_paths требуют 'application-filename-go-here' набор: окружающая среда,: производство запустить Синатра:: Приложение