/ / Sinatra on Passager échoue toujours à la première tentative - Sinatra, passager, rack

Sinatra on Passenger échoue toujours à la première tentative - Sinatra, passager, rack

J'ai une petite application Sinatra que je cours sur uncompte d'hébergement partagé utilisant Passenger. Cependant, la première fois que l'application est utilisée après un certain temps, une page d'erreur Passager s'affiche, indiquant que l'application n'a pas pu être démarrée. Habituellement, parce que Sinatra est introuvable.

Je suppose qu’il s’agit d’un délai normal à partir duquel une nouvelle instance est créée. Cependant, y a-t-il un moyen de retarder l’essai de chargement de Siantra jusqu’à ce que le passager soit complètement chargé?

Réponses:

0 pour la réponse № 1

Je semble avoir résolu le problème en réglant la GEMS_PATH variable d’environnement dans le fichier .htaccess. Je n'ai pas encore rencontré l'erreur.


0 pour la réponse № 2

J'ai récemment pris cette initiative avec le soutien de Dreamhost.(pas une bonne expérience) et finalement ils ont recommandé de geler les gemmes dans l'application. C'est au mieux une solution partielle, car cela semble fonctionner pour certains joyaux et pas pour d'autres.

Au lieu de

require "sinatra"

J'ai:

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

La congélation des pierres précieuses est traitée ailleurs, mais brièvement: pour s'y préparer, il faut faire

mkdir vendor/gems
cd vendor/gems
gem unpack sinatra

À la suite de ce changement, je jamais obtenir l'écran de défaillance de démarrage citant sinatra commele fichier ne peut pas être chargé. Cependant, je l’obtiens toujours pour d’autres gemmes nécessitant elles-mêmes ou des parties d’autres gemmes. "require" utilise un chemin directement dans ma bibliothèque "vendor".


0 pour la réponse № 3

Je pense que vous devrez peut-être ajouter Gem.clear_paths! là dedans


0 pour la réponse № 4

j'avais un problème similaire il y a longtemps. Mettre à jour un nouveau bijou Sinatra m'a aidé - quelle version utilisez-vous?