2010-11-10 14 views
0

Je reçois cette erreur quand je déployer mon application Sinatra avec passager et Apache:NoMethodError lors du déploiement de Sinatra l'application Rack avec passager

Exception NoMethodError in application (undefined method `call' for nil:NilClass) 

Je peux commencer l'application avec

ruby myapp.rb 

ou une application en rack avec

ruby config.ru 

et il n'y a pas de problèmes. Des idées pour lesquelles cela ne se produit qu'avec Passenger?

+1

Vous devez publier la trace complète. – Hongli

+0

Si vous rencontrez toujours ce problème, affichez les erreurs complètes (en particulier les fichiers et les numéros de ligne) afin que nous puissions déterminer où '# call' est invoqué sur une valeur' nil'. – Phrogz

Répondre

1

Un peu en retard à la fête mais j'ai juste eu cela pour moi. Il s'avère que j'avais besoin de dire à Sinatra de ne pas "lancer" l'application.

configure do 
    set :run, false 
    # ... 
end 

à partir des paramètres Sintara doc:

run - si elle est activée, Sinatra se chargera de démarrer le serveur Web, ne permettent pas en cas d'utilisation rackup ou d'autres moyens.

Voici une liste des available settings pour Sinatra

Bonne chance!