Ayer decidí actualizar a Passenger 2.0.5 y migrar una aplicación a Rails 2.2.2. Una vez echo todo el proceso, revisado en local etc. me dispongo a subirlo al servidor de desarrollo, el Apache arranca perfecto y sin problemas.
Cuando entro cargo la url del sitio me encuentro el siguiente problema que me lanza el Passenger, eso si, de forma muy bonita:
“No such file or directory - /nonexistent” - Errno::ENOENT
Después de revisar gemas, plugins y volverme un poco tarumba me entere de dos cosas:
- Que el Mod_Rails se pasa por el forro el RAILS_EN del enviroment.rb
- Que toma por defecto el entorno de producción
Solución…. Muy fácil en la definición del Virtual Host agregamos la directiva RailsEnv development.
Otro aspecto a tener en cuenta con este error es una linea que viene en el production.rb
1 | config.action_view.perform_caching = true |
que al parecer en la versión 2.2.2 de Rails ya no se usa y casca la falla el Passenger a la hora de cargar la página. con que debemos de borrar esta linea del fichero.
Otro problema común que haga saltar este error es la posible falta de algún tipo de directorio como el tmp o el log, ya que me paso con la 2.0.1 del Passenger.
Si alguien tiene más experiencias con este error que las comente para hacer una recopilación.