Синатра на Пассажира всегда терпит неудачу с первой попытки - PullRequest
2 голосов
/ 22 января 2010

У меня есть небольшое приложение Sinatra, которое я запускаю на учетной записи общего хостинга с помощью Passenger. Однако при первом обращении к приложению через некоторое время появляется страница с сообщением об ошибке «Пассажир», в которой говорится, что приложение не может быть запущено. Обычно потому, что Синатра не может быть найден.

Я предполагаю, что это обычная задержка с момента появления нового экземпляра. Однако есть ли способ отложить попытку загрузки Siantra до полной загрузки Пассажира?

Ответы [ 4 ]

0 голосов
/ 14 сентября 2010

У меня была похожая проблема давным-давно. Обновление до новой версии Sinatra помогло мне - какую версию вы используете?

0 голосов
/ 09 марта 2010

Недавно я обратился к поддержке Dreamhost (не очень хороший опыт), и в конце концов они рекомендовали заморозить драгоценные камни в приложении. В лучшем случае это частичное решение, потому что, похоже, оно работает для некоторых драгоценных камней, а не для других.

Вместо

require 'sinatra'

У меня есть:

require 'vendor/gems/sinatra-0.9.4/lib/sinatra'

Замораживание драгоценных камней рассматривается в другом месте, но кратко: чтобы подготовиться к этому, нужно сделать

mkdir vendor/gems
cd vendor/gems
gem unpack sinatra

В результате этого изменения я никогда не получаю экран ошибки запуска, цитируя sinatra как файл, который он не может загрузить. Тем не менее, я все еще получаю его за некоторые другие драгоценные камни, которые требуют себя или части других драгоценных камней. Не слишком ясно о деталях, но я работаю над идеей взлома установленных гемов, чтобы каждый «требуемый» использовал путь непосредственно из моей библиотеки «vendor».

0 голосов
/ 31 августа 2010

Я думаю, вам может понадобиться добавить Gem.clear_paths! там

0 голосов
/ 23 января 2010

Кажется, я решил проблему, установив переменную окружения GEMS_PATH в файле .htaccess. Я не столкнулся с ошибкой снова. ЕЩЕ! * * 1002

...